如何在使用C#编写的Selenium WebDriver(Nunit Test Case)中按下“Enter”键?

7

我正在尝试使用nunit + Selenium + c#创建自动化测试框架。

我们的Web管理界面基于Devexpress框架,因此我无法通过“ID”点击按钮,或者至少我不知道如何操作。解决方法是简单地按下“Enter”按钮。

我已经尝试过

driver.FindElement(By.XPath("String")).SendKeys(Keys.Enter);

那么为什么.Click不起作用呢? - Arran
你能否在查询中包含按钮的HTML代码? - Abhijeet Vaikar
在c:\ Projects \ WebDriver \ trunk \ dotnet \ src \ WebDriver \ Remote \ RemoteWebDriver.cs的OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)处:第1009行 在c:\ Projects \ WebDriver \ trunk \ dotnet \ src \ WebDriver \ Remote \ RemoteWebDriver.cs的OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary`2 parameters)处:第849行 在C:\ Users \ Administrator \ documents \ visual studio 2010 \ Projects \ ConsoleApplication1 \ ConsoleApplication1 \ Program.cs的ClassLibrary2.UnitTest1.TestMethod2()处:第46行 - RON12345
我的代码如下... [Test] public void TestMethod2() { driver.Navigate().GoToUrl("https://localhost/websearch"); driver.FindElement(By.Id("pcLogin_Panel1_txtUsername_I")).SendKeys("自动化测试1 "); driver.FindElement(By.Id("pcLogin_Panel1_txtPassword_I")).SendKeys("Exchange1"); driver.SendKeys(Keys.Enter).perform;driver.FindElement(By.Id("pcLogin_Panel1_btnLogon_B")).Click(); Assert.AreEqual("Web Admin - Dashboard", driver.Title);} - RON12345
如何使用Java和Selenium WebDriver按下Enter键? - Ripon Al Wasim
显示剩余3条评论
4个回答

7

1
使用以下代码点击一个不可见的按钮。
 IWebElement tmpElement = Driver.FindElement(By.Id("invisibleButton"));
 var executor = (IJavaScriptExecutor)Driver;
 executor.ExecuteScript("arguments[0].click();", tmpElement);
 wait.Until(d => { return d.Title.Equals("pageTitle"); });

0

0

Keys.Return() 解决了按下 enter 的问题


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接