草庐IT

Selenium-WebDriver

全部标签

javascript - Selenium WebDriver 点击隐藏元素

您好,我想知道如何使用SeleniumWebDriver单击隐藏元素和/或禁用元素。我知道使用selenium1我可以按如下方式执行此操作:selenium.click(id="idOfHiddenField");这行得通,但对于selenium2(WebDriver),行不通。我不想使用jquery来启用或显示隐藏字段或JavaScript。这是因为大多数测试都使用xpath。还是我只需要继续使用允许您单击隐藏字段的旧selenium? 最佳答案 使用JavascriptExecutor可以更轻松地解决此问题。例如:documen

javascript - 使用 WebDriver(HtmlUnit、Ruby 绑定(bind))时是否可以忽略 JavaScript 异常

当我加载页面时,HtmlUnit抛出异常并使我的测试崩溃caps=Selenium::WebDriver::Remote::Capabilities.htmlunit(:javascript_enabled=>true)driver=Selenium::WebDriver.for(:remote,:desired_capabilities=>caps)driver.navigate.тоurlReferenceError:"x"isnotdefined.(net.sourceforge.htmlunit.corejs.javascript.EcmaError)如果我使用Firefox驱

javascript - 如何使用 Selenium 打开带有哈希的 URL?

我正在尝试使用SeleniumIDE测试我的Backbone.js网络应用程序。Selenium可以打开我的测试用例的初始URL,只要它在一个新的浏览器窗口中——例如open/#/login--但它在尝试打开后续URL时超时。似乎Selenium正在监听一个仅在URL哈希更改时不会触发的事件。我想这会在您使用hashchange+Selenium的任何时候发生... 最佳答案 在SeleniumIDE中只需使用“storeEval”命令,例如:Command=storeEvalTarget=window.location.hash=

javascript - 如何点击页面中间的按钮

HTML代码RESUME问题:单击我们应用程序中的链接后,页面将在新选项卡中打开。在那个新页面中,我必须单击简历选项卡(它位于页面中间)。我必须向下滚动并单击该选项卡,但我无法单击。我的代码:browser.executeScript('window.scrollTo(0,250);');element(by.partialLinkText("RESUME")).click();请帮帮我 最佳答案 在尝试单击元素之前切换到新选项卡。稍后,使用ExpectedConditions实例和elementToBeClickable()等待元

javascript - 控制 browser.wait() 的轮询频率(Fluent Wait)

故事:在Javaselenium语言绑定(bind)中有一个FluentWaitclass,这允许严格控制如何检查预期条件:EachFluentWaitinstancedefinesthemaximumamountoftimetowaitforacondition,aswellasthefrequencywithwhichtocheckthecondition.Furthermore,theusermayconfigurethewaittoignorespecifictypesofexceptionswhilstwaiting,suchasNoSuchElementExceptions

javascript - 有没有办法从 JavaScript 检测到我在 Selenium Webdriver 页面中

我想抑制TinyMCE的初始化在我的测试中,如果JavaScript可以检测到我在Selenium自动化页面中运行,则可以轻松地做到这一点。那么,是否有一些JavaScript代码可以用来检测Selenium驱动程序?或者,如何扩展userAgent字符串以包含可以从JavaScript检测到的模式?如果它真的很重要,我将通过Cucumber运行它和Capybara在MacOSX上。 最佳答案 据我所知,Selenium没有提供跨浏览器方法来检测它是否正在驱动浏览器。在Firefox中,webdriver设置webdriverhtm

linux下使用selenium调用谷歌浏览器的一些问题

目录一、linux版本的谷歌浏览器问题二、对应版本的chromedriver驱动问题    2.1、查看谷歌及chromedriver版本命令    2.2、报错    2.3、解决三、chromedriver权限问题        3.1、报错        3.2、解决四、代码启动参数设置问题        4.1、报错        4.2、解决一、linux版本的谷歌浏览器问题    这部分可以下载官方的安装包(注意谷歌依赖的安装,这部分很繁琐),也可以进入博主的资源下载。二、对应版本的chromedriver驱动问题    2.1、查看谷歌及chromedriver版本命令#谷歌浏览

javascript - 如何允许 Chrome 以编程方式使用我的麦克风?

我目前正在尝试运行一些使用webdriverjs和chromedriver进行的测试,但它们需要麦克风权限。这是显示的弹出窗口:我试过:chromedriver.start(['--disable-popup-blocking']);driver=newWebdriver.Builder().withCapabilities(Webdriver.Capabilities.chrome()).build();但是没用。我也试过driver.wait(Until.alertIsPresent(),config.TIMEOUT,'Alertdidnotshowup');driver.swit

javascript - 如何打破 promise 链

我以这样的方式promise,functiongetMode(){vardeferred=Promise.defer();checkIf('A').then(function(bool){if(bool){deferred.resolve('A');}else{returncheckIf('B');}}).then(function(bool){if(bool){deferred.resolve('B');}else{returncheckIf('C');}}).then(function(bool){if(bool){deferred.resolve('C');}else{defer

javascript - 用于测试 AngularJS 的 Protractor

Protractor是构建在WebDriverJS之上的Angular应用程序的端到端测试框架。我是网络测试领域的新手,我想弄清楚使用Protractor而不是直接使用WebDriverJs有什么优势。Protractor的附加值是什么? 最佳答案 Protractor的附加值是Protractor了解Angular。这有一些优点,例如:您不必构建等待语句来等待Angular处理,因为Protractor知道Angular何时仍然忙碌并等待它。您可以在Angular绑定(bind)、Angular转发器等对象上添加额外的选择器。