Tag: selenium

MSTest中数据驱动测试的问题

我正在尝试使用MSTest / Selenium在C#中使用数据驱动测试。 以下是我尝试设置的一些代码的示例: [TestClass] public class NewTest { private ISelenium selenium; private StringBuilder verificationErrors; [DeploymentItem(“GoogleTestData.xls”)] [DataSource(“System.Data.OleDb”, “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=GoogleTestData.xls;Persist Security Info=False;Extended Properties=’Excel 8.0′”, “TestSearches$”, DataAccessMethod.Sequential)] [TestMethod] public void GoogleTest() { selenium = new DefaultSelenium(“localhost”, 4444, “*iehta”, http://www.google.com); selenium.Start(); verificationErrors = new StringBuilder(); var searchingTerm = TestContext.DataRow[“SearchingString”].ToString(); var expectedResult = TestContext.DataRow[“ExpectedTextResults”].ToString(); … 这是我的错误:错误3非静态字段,方法或属性’Microsoft.VisualStudio.TestTools.UnitTesting.TestContext.DataRow.get’E:\ Projects \ SeleniumProject […]

为什么要使用Page Factory?

我是一名新的测试工程师,他一直在阅读有关页面对象模型的信息并实现它们并不断访问Page Factory。 我知道Page Factory是一个POM,它提供了额外的function,例如在调用Page Factory时实例化所有元素,以及更可读的代码用于测试(尽管我的可读性并不完全出售)。 要清楚,我是在POM上出售的。 代码的可重用性和相对容易的维护是很好的,我正朝着这个方向努力。 我提出的两个问题是: 为什么我要实例化所有元素而不是动态执行? 我错过了Page Factory的优点是什么?

在C#中使用Selenium RemoteWebDriver

我正在尝试在C#中使用Selenium RemoteWebDriver,基本上我想做的就是在javascript完成操作DOM 之后以编程方式抓取网页的html(没有弹出浏览器窗口。) 首先,我启动了selenium-server.jar,如下所示: C:\ Program Files \ selenium-server> java -jar“C:\ Program Files \ selenium-server \ selenium-server.jar” 13:34:46.163 INFO – Java: Sun Microsystems Inc. 19.1-b02 13:34:46.166 INFO – OS: Windows 7 6.1 amd64 13:34:46.174 INFO – v2.0 [a2], with Core v2.0 [a2] 13:34:46.277 INFO – RemoteWebDriver instances should connect to: **http://127.0.0.1:4444/wd/hub** 13:34:46.278 INFO – Version […]

通过Selenium WebDriver C#获取HTTP状态代码

我正在使用Selenium,C#,NUnit来编写自动化测试。 是否可以使用WebDriver获取HTTP状态代码,以便可以向用户发出因HTTP请求而失败的测试?

使用Selenium Webdriver测试元素是否聚焦

我真的很惊讶我在互联网上找不到使用Selenium Webdriver测试元素焦点的参考资料。 我想检查何时尝试使用必填字段提交表单提交时,焦点将移至空字段。 但我无法使用WebDriver API看到任何方法。 我将能够使用JavascriptExecutor找到焦点元素。 但阅读常见问题解答让我觉得必须有一些方法来使用驱动程序本身执行检查。 谢谢你的帮助。

如何设置Firefox配置文件:Selenium RC,.Net客户端驱动程序?

我正在使用Selenium RC + .Net客户端驱动程序。 我在c:\ selenium \目录中创建了一个Firefox配置文件。 这是我的代码: Dim MySelenium As ISelenium = Nothing MySelenium = New DefaultSelenium(“localhost”, 4444, “*custom C:/Program Files/Mozilla Firefox/firefox.exe -profile c:/selenium/”, “http://www.google.com/”) 当我运行它时,我收到以下错误: 无法启动新的浏览器会话:启动浏览器时出错 这样做的正确方法是什么?

如何让Selenium-WebDriver在sendkey之后等待几秒钟?

我正在研究C#Selenium-WebDriver。 发送密钥后,我想等几秒钟。 我执行以下代码等待2秒。 public static void press(params string[] keys) { foreach (string key in keys) { WebDriver.SwitchTo().ActiveElement().SendKeys(key); Thread.Sleep(TimeSpan.FromSeconds(2)); } } 我称之为: press(Keys.Tab, Keys.Tab, Keys.Tab); 它工作正常。 哪一个更好?

模块化Selenium RC测试脚本的最佳实践

我在Visual Studio(C#)中创建Selenium RC测试脚本。 我正在努力重新考虑测试; 我的所有测试都在一个文件中。 我将非常感谢网站,书籍等的任何输入和/或指示,以了解模块化测试。 我必须在不同的站点(相同的应用程序,但为不同的客户端和登录配置不同)上运行相同的测试,这些测试95%相同。 有人愿意提供一些很好的例子或最佳实践吗? 谢谢!

Selenium ChromeDriver开关标签

当我单击测试中的链接时,它会打开一个新选项卡。 我希望ChromeDriver专注于该标签。 我尝试使用以下代码让ChromeDriver使用ctrl + tab快捷方式更改tabas: Actions builder = new Actions(driver); builder.KeyDown(Keys.Control).KeyDown(Keys.Tab).KeyUp(Keys.Tab).KeyUp(Keys.Control);//switch tabs IAction switchTabs = builder.Build(); switchTabs.Perform(); 但是这引发了以下exception: ekmLiveChat.tests.UITests.EndToEndTest.EndToEnd: System.ArgumentException : key must be a modifier key (Keys.Shift, Keys.Control, or Keys.Alt) Parameter name: key 有没有办法使用ChromeDriver切换标签?

如何使用C#在Selenium WebDriver的下拉列表中获取所有选项?

我是C#和Selenium WebDriver的新手。 我知道如何在下拉列表中选择/单击某个选项,但在此之前我遇到了问题。 由于下拉列表是动态生成的,因此在运行每个案例之前,我必须从列表中获取所有选项/值。 有没有人告诉我如何从下拉列表中获取所有值/选项。 我正在使用IE,我没有找到任何支持在Selenium.IE名称空间中为C#获取值/选项的方法的类。 我的例子:列表包含几个时区: timezone.Alaska timezone.England timezone.Greece timezone.India 这是IE页面中的下拉列表以及如何获取动态生成的时区列表? 我的代码: IWebElement elem = driver.FindElement(By.XPath(“//select[@name=’time_zone’]”)); List options = elem.FindElements(By.TagName(“option”)); C#只是弹出一个错误:无法隐式将’OpenQA.Selenium.IWebElement’类型转换为’System.Collections.Generic.List’。 存在显式转换(您是否错过了演员?)。 谢谢。