草庐IT

Selenium-WebDriver

全部标签

java - 在 Selenium 中计时页面加载时间

我正在使用selenium在我的网站上记录一些性能测试。例如登录时间、查询时间等。我在SeleniumIDE上记录了一个示例脚本。我现在让它运行一个SeleniumRC(java)。publicvoidtestNew()throwsException{selenium.open("/jira/secure/Dashboard.jspa");selenium.selectFrame("gadget-10371");selenium.type("login-form-username","username");selenium.type("login-form-password","pw"

java - 使用 Java 在 Internet Explorer 上运行的 WebDriver 中出现 "No element is found"异常

我们想将测试转移到selenium2,但我发现了一个我不知道如何解决的问题。我正在为webdriver使用以下命令:WebDriverdriver=newInternetExplorerDriver();driver.navigate().to("webapp");Thread.sleep(3000);System.out.println(driver.getPageSource());WebElementelement=driver.findElement(By.id("someid"));在最后一行引发异常并且没有找到元素。同样的示例在firefox中运行良好,但我们需要在IE中使

java - Selenium HtmlUnitDriver 在随机位置随机挂起

我使用SeleniumHQ记录我的操作,然后将它们导出到JavaUnityWebDrive。然后我编辑了导出的代码并添加了许多额外的小东西,比如遍历数组、时间戳等。我的代码执行以下操作:登录我的网站。转到我的个人资料。删除我之前的公告。发布新公告。退出。我尝试过使用FirefoxDriver和HtmlUnitDriver,但它们中的每一个都给我带来了这个奇怪的问题。我的代码开始工作并随机停在随机位置并永远卡在那里。例如,它可以登录->转到配置文件->删除上一个然后停止,或者它可以在登录时挂起。我一遍又一遍地循环这些步骤,我循环得越多,就越有可能卡住。第一个循环的成功率为90%,第二个循

java - Selenium 在 Firefox 配置文件中禁用插件

谁能告诉我如何使用Java禁用我的客户firefox配置文件的插件?我发现一些网站显示添加附加组件,但没有关于禁用插件的内容。我的firefox配置文件:FirefoxProfilefirefoxProfile=newFirefoxProfile();firefoxProfile.setAcceptUntrustedCertificates(true);firefoxProfile.setAssumeUntrustedCertificateIssuer(false);firefoxProfile.setPreference("browser.download.folderList",2

java - IE + Selenium : Is there any way to disable pop-up blocker programmatically in IE

每次我进入新的IE浏览器以运行处理弹出窗口处理的Selenium自动化脚本时,我都需要从IE设置中手动禁用弹出窗口阻止程序选项。有没有办法通过使用某些功能或其他东西以编程方式禁用IE弹出窗口阻止程序? 最佳答案 我们必须修改注册表值才能在IE中操作弹出窗口阻止程序。注册表信息如下:注册表位置:HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\NewWindows注册表值名称:PopupMgr注册表值数据:否[关闭弹出窗口阻止程序]和是[打开弹出窗口阻止程序]如果您正在使用Ja

java - Selenium 测试,在测试期间关闭浏览器连接并重新打开

我正在使用SeleniumWebdriver(Java)运行测试,在测试进行到一半时我想将浏览器设置为离线,执行几个步骤并再次打开浏览器连接。有没有一种简单的方法可以做到这一点,或者可以将浏览器代理更改为不存在的代理(离线模拟)并再次设置回有效的内容?我需要在在线、离线和在线之间再次保持浏览器缓存、浏览器本地存储区域和浏览器cookie。谢谢 最佳答案 您可以通过将WebDriversPageLoadTimeout设置为零来伪造它。在C#中,这对我有用:driver.Manage().Timeouts().SetPageLoadTi

javascript - 无法从下拉列表中选择值

我知道这个问题对你们来说很容易回答,但是我被困在一个下拉列表中,我想从中选择出生月份。我一直在其他网站上工作,但遗憾的是无法让它工作。我试过:点击使用不同的定位器。使用Action类移动悬停和单击。使用JavaScript选择月份。奇怪的是,如果我得到WebElement的文本,我可以这样做,但不能点击它。应用程序的url是:alink!这是在谷歌上创建帐户的时候。我试图从任何一个月的列表中选择月份。当我等到盒子有所需的月份时,我得到了TimeOutException。除此之外,我没有收到任何错误。脚本总是通过而不进行选择。我知道这个问题很简单,但如果有人能帮助我解决这个问题。提前致谢

java - Selenium 安装障碍 "importfirefoxdriver"

我正在尝试使用eclipse下载seleniumweb驱动程序,我正处于最后一步并成功导入web驱动程序,但是,当我尝试为firefox执行相同操作时,我没有获得导入选项。有什么建议么?下面的代码有什么问题吗?代码:packagewebdriver_project;importorg.openqa.selenium.WebDriver;publicclasswebdriver_module_1{publicstaticvoidmain(String[]args){WebDriverdriver=newfirefoxDriver();}} 最佳答案

java - 无法从 scoped_dir6312_32763/internal 加载扩展。管理员使用 ChromeDriver Selenium 禁用加载解压的扩展

我使用vue-cli3创建了一个项目,它会自动为我设置e2ed测试。当我尝试运行测试时,我从chrome收到一个弹出窗口,告诉我“加载解压的扩展被管理员禁用”。这似乎是一个常见问题,提供了一种解决方案elsewhere是ChromeOptionso=newChromeOptions();o.addArguments("disable-extensions");o.addArguments("--start-maximized");WebDriverdriver=newChromeDriver(o);现在这是Java代码,但我假设有一种方法可以在vue.js项目中实现同样的事情。但是,我

java - 如何向使用 Selenium Webdriver 处理的 HTTP 请求添加 header 或参数?

我正在使用SeleniumWebdriver对Web应用程序进行单元测试。它用于JUnit测试尽管广泛阅读了可用的文档并四处搜索,但我找不到方法:向驱动程序传递的HTTP请求添加header。在这样的请求中添加参数,就好像司机在提交表单后得到了他的目标URL。可以创建一个具有适当形式的测试网页,并让Webdriver反弹它以自动获取这些参数,但这是一个非常丑陋的hack。我想避免它,特别是为了测试原子性。(这是单元测试。)在使用Wendriver之前,我使用Spring的MockHttpServletRequest和MockHttpServletResponse来执行此操作,效果很好,