草庐IT

Selenium

全部标签

javascript - 无法并行运行 Selenium PhantomJS 实例

我正在使用Selenium的node.jsAPI针对一系列网页运行PhantomJS实例。我用来在页面上执行操作的代码工作正常,但似乎一次只能运行一个Selenium/PhantomJS实例。这个函数从同一个模块被多次调用,并在客户端处理分页的网上商店中逐步浏览页面(这就是为什么我需要Selenium/PhantomJS环境-从每个页面提取数据)。再一次,代码本身运行良好,但不能并行执行。可能是什么原因造成的?module.exports=function(crawler,page,parsePage,done){"usestrict";var_=require("lodash"),f

javascript - 混合客户端/服务器端测试

我应该如何构建混合了Selenium代码(用于设置页面)和客户端Mocha代码(用于在被测试的客户端JS上实际执行测试)的测试?我正在测试客户端javascript库。单元测试适用于Karma、Mocha和Grunt。单元测试可以在本地运行,也可以通过SauceLabs运行。单元测试基本上能够测试直到实际提交文件的所有部分。这部分需要浏览器自动化和/或手动交互,这正是我正在努力解决的问题。有问题的库是一个Javascript文件上传库。它具有分块、自动恢复等功能。它不需要jQuery,并且适用于各种浏览器(IE7-10、FF、Safari(Mac和iOS)、Chrome、Android

javascript - 禁用 JavaScript 的 Selenium WebDriver 测试

如果浏览器中禁用了javascript(使用noscript),我们的一个内部应用程序(用angularjs编写)会出现一个特殊的错误框,类似于stackoverflow上的错误框:我正在尝试为其编写自动化测试,但遇到了困难。我们正在使用protractor,但我很确定这不是关于它的。这是Protractor配置文件:'usestrict';varhelper=require('./helper.js');exports.config={seleniumAddress:'http://localhost:4444/wd/hub',baseUrl:'http://localhost:90

javascript - 如何让 Protractor 不等待 $timeout?

我正在使用Protractor测试我的Angular应用程序。用户登录到我的应用程序后,我设置$timeout以在一小时内完成一些工作(因此,如果用户在13:00登录,则$timeout将在14:00运行)。我不断遇到这些失败:"TimedoutwaitingforProtractortosynchronizewiththepageafter20seconds.Pleaseseehttps://github.com/angular/protractor/blob/master/docs/faq.md.Thefollowingtaskswerepending:-$timeout:func

javascript - 如何在带有 JavaScript 的 Selenium RC 中使用 xpath?

我在IE6上使用SeleniumRC,XPath定位器非常棒减缓。所以我想看看javascript-xpath是否真的加快了速度。但是找不到关于如何使用原生x-的足够/清晰的文档路径库。我正在做以下事情:protectedvoidstartSelenium(StringtestServer,StringappName,StringtestInBrowser){selenium=newDefaultSelenium("localhost",4444,"*"+testInBrowser,testServer+"/"+appName+"/");echo("seleniuminstancecr

javascript - browser.explorer() 与在 Protractor 中调试的旧方法

在Protractor5.0.0中,有一个新的browser.explore()方法已添加到API。和之前有什么不同browser.pause()或browser.debugger()或browser.enterRepl()?在Protractor中调试测试的首选方法是什么? 最佳答案 各有优缺点。browser.explore()是一个非常新的工具,它还具有使用我们在测试用例中使用的相同脚本调试测试的巨大优势,例如。element(by.cssContainingText('Username')).click();browser.

javascript - 如何在 angular2 中实现间隔/轮询以使用 Protractor ?

我有一个angular2应用程序,我想用Protractor测试。在这个应用程序中,我有一个包含图表的页面,该图表使用自动生成的数据定期更新。显然Protractor的一个功能是在执行测试代码之前等待脚本和http调用完成。但是,如果有一个不断轮询的脚本永远不会完成,Protractor将永远等待并在一定时间后超时。在angular1中,这可以通过使用$interval实现轮询来解决,Protractor不会等待。不幸的是,在angular2中没有$interval并且实现轮询的正确方法似乎是Observable.interval,所以这就是我的代码:Observable.interv

c# - Selenium 网络驱动程序 : how to deal with javascript onclick in C#

我正在使用seleniumWeb驱动程序C#测试一个网站。我的本意是检查返回200的HttpWebResponse。但是,该按钮是一个javascriptonclick事件。我想知道是否有人有过如何处理这种情况的经验。这是按钮的HTML: 最佳答案 尝试这样的事情:publicvoidJavaScriptClick(IWebElementelement){IJavaScriptExecutorexecutor=(IJavaScriptExecutor)driver;executor.ExecuteScript("arguments[

javascript - C# Selenium 访问浏览器日志

有没有办法使用selenium在c#中捕获浏览器日志。我希望捕获出现在特定页面上的任何JS错误。最好在Chrome或Firefox上使用。我以前用Python完成过这个,但可以用C#完成吗? 最佳答案 使用Selenium/Chrome/C#设置和检索日志条目:ChromeOptionsoptions=newChromeOptions();options.SetLoggingPreference(LogType.Browser,LogLevel.Warning);vardriver=newChromeDriver(options);

javascript - 使用 promise 配置多个功能

这是Setfirefoxprofilewithprotractor的后续行动话题。根据setFirefoxProfilehowto,可以使用特殊的"helper"jscode设置firefox配置文件使用firefox-profile和q动态制作编码的Firefox配置文件的库。这对我有用,直到我尝试使用多个浏览器并配置multiCapabilities:exports.config={seleniumAddress:'http://localhost:4444/wd/hub',multiCapabilities:[{browserName:'chrome',specs:['foote