2016-03-08 49 views
0

HI我正在使用Nunit和Selenium網絡驅動程序。我以前在相同的上下文中使用過Java,我正在努力解決這一行代碼。在C#中使用硒和Nunit聲明實際值

`string actualvalue = IWebElement searchInput =` `driver.FindElement(By.Id("sb_form_q"));` 

下面是剩下的部分。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using OpenQA.Selenium; 
using OpenQA.Selenium.Firefox; 
using NUnit.Framework; 

namespace SeleniumTests1 
{ 
    [TestFixture] 
    class SeleniumTest 
    { 
     [Test] 
     public void Main(string[] args) 
     { 

      IWebDriver driver = new FirefoxDriver(); 
      driver.Navigate().GoToUrl("http://www.bing.com/"); 
      driver.Manage().Window.Maximize(); 

      string actualvalue = IWebElement searchInput = driver.FindElement(By.Id("sb_form_q")); 
      searchInput.SendKeys("Hello World"); 
      searchInput.SendKeys(Keys.Enter); 

      Assert.AreEqual(actualvalue, "Hello World"); 
      driver.Close(); 
     } 
    } 
} 
+0

嗯,是的,這句法無效......什麼是你想達到什麼目的?也許你只需要兩個語句,一個聲明並初始化'searchInput',另一個聲明並初始化'actualValue'? –

+0

我對C#相當陌生,所以我正在基於我的Java知識工作。在這種情況下,我想查看我輸入的Hello世界是否實際上已經在搜索之後輸入搜索。 – Peter

+0

這在Java語言中也是語法無效的......在C#和Java之間聲明和初始化變量的基礎知識非常類似。 –

回答

0

這個工作對我來說:

using Microsoft.VisualStudio.TestTools.UnitTesting; 
using OpenQA.Selenium; 
using OpenQA.Selenium.Firefox; 

namespace ConsoleApplication1 
{ 
    public static class SeleniumTest 
    { 
     public static void Main(string[] args) 
     { 
      IWebDriver driver = new FirefoxDriver(); 
      driver.Navigate().GoToUrl("http://www.bing.com/"); 
      driver.Manage().Window.Maximize(); 

      IWebElement searchInput = driver.FindElement(By.Id("sb_form_q")); 
      searchInput.SendKeys("Hello World"); 
      searchInput.SendKeys(Keys.Enter); 

      searchInput = driver.FindElement(By.Id("sb_form_q")); 
      string actualvalue = searchInput.GetAttribute("value"); 

      Assert.AreEqual(actualvalue, "Hello World"); 
      driver.Close(); 
     } 
    } 
}