Tag: selenium

如何使用browsermob-proxy和nightwatch.js监视HTTP调用?

我正在使用Nightwatch.js框架为SPA应用程序编写testing用例。 一个要求来了,我们必须监视HTTP调用,并获得该网站的性能结果。 这可以通过使用JMeter轻松实现。 使用自动化testing工具,我们可以通过使用browsermob-proxy和selenium来完成。 使用Nightwatch.js和browsermob-proxy可以做同样的事吗? 还有什么是相同的步骤。

环境标志已被弃用

我试图在我的应用程序中安装依赖关系,我得到错误的环境标志是折旧的,也terminal说,以取代它与 – 全球我做了,但现在terminal说:“无法find”节点“(”NPM“)registry”。 我跟着这个链接,使e2etestinghttp://lathonez.github.io/2016/ionic-2-e2e-testing/ yokeshs-Mac-mini:easycloud yokesh$ sudo typings install express –save –ambient typings ERR! deprecated The "ambient" flag is deprecated. Please use "global" instead yokeshs-Mac-mini:easycloud yokesh$ sudo typings install –global –save angular-protractor jasmine node selenium-webdriver typings ERR! message Unable to find "node" ("npm") in the registry. Did you want to try searching another source? Also, […]

cucumberjs:发现一个步骤结果是失败的

任务 : 使用selenium,webdriver,cucumberjs执行自动验收testing。 find一个失败的验收testing场景并截取该页面 除此之外,作为一个人工制品在去pipe道。 那是我今天的任务。 我已经完成了所有这些工作,包括编写场景testing,selenium安装,pipe道和其他一切需要的东西。 唯一的问题是 – 我无法弄清楚如何find一个失败的scheme步骤,并采取页面的屏幕截图。 问题详细信息 :我将以下代码放置在我的步骤定义中,这是针对每个scheme步骤运行的 //file: features/setpdefinitions/common.step.js var commonWrapper = function commonWrapper() { this.World = require('../support/world').World; this.Before(function (next) { this.initBrowser(next); }); this.After(function (next) { this.browser.quit(next); }); this.StepResult(function (event, callback) { var stepResult = event.getPayloadItem('stepResult'); console.log(stepResult.isFailed()); callback(); }); }; module.exports = commonWrapper; World包含浏览器启动方法。 这是我正在testing的示例function场景 Feature: Forgot Password As a […]

用Java和Node.js创buildDocker容器

我不知道为什么我期望这个工作: # Dockerfile FROM node:6 FROM java:8 但它并没有真正的工作 – 看起来像第一个命令被忽略,第二个命令的作品。 有没有一个简单的方法来在Docker容器中安装Node.js和Java? 最终,我试图解决的问题是,我运行Selenium Webdriver时出现ENOENT错误 – [20:38:50] W/start – Selenium Standalone server encountered an error: Error: spawn java ENOENT 而现在我认为这是因为Java没有安装在容器中。

获取浏览器的当前url

在Selenium Nodejs中,我如何获取正在testing的页面的当前url(testing脚本正在运行的那一刻,假设网页最初已被redirect)

hover在nightwatchjs中的链接

我一直在使用nightwatchjs,并总是点击元素。 有没有一种方法可以hover在链接或button上? 谢谢

Selenium“NoSuchAlertError:no alert open”错误

在Selenium中,我点击一个button,出现一个警告框,我尝试接受警告框,但它给了我一个错误。 element.click(); driver.switchTo().alert().accept(); 这是非常不一致的…有时testing通过,有时它给了我错误… 该错误看起来像: NoSuchAlertError: no alert open (Session info: chrome=34.0.1847.131) (Driver info: chromedriver=2.9.248307,platform=Mac OS X 10.9.2 x86_64) at new bot.Error (/Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/atoms/error.js:109:18) at Object.bot.response.checkResponse (/Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/atoms/response.js:106:9) at /Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/webdriver/webdriver.js:276:20 at /Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/goog/base.js:1178:15 at webdriver.promise.ControlFlow.runInNewFrame_ (/Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/webdriver/promise.js:1598:20) at notify (/Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/webdriver/promise.js:428:12) at notifyAll (/Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/webdriver/promise.js:397:7) at resolve (/Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/webdriver/promise.js:375:7) at fulfill (/Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/webdriver/promise.js:493:5) at /Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/webdriver/promise.js:1465:10 at /Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/goog/base.js:1178:15 at webdriver.promise.ControlFlow.runInNewFrame_ (/Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/webdriver/promise.js:1598:20) at notify (/Users/kstrife/Desktop/experiments/seleniumNode/selenium-webdriver/lib/webdriver/promise.js:428:12) […]

TypeError:driver.isElementPresent不是一个函数

我正在尝试编写一个login到网站的节点function,并且无法正常工作。 我想等待页面加载使用isElementPresent函数,在这篇文章中引用,但它似乎并没有工作。 以下是我到目前为止: const webdriver = require('selenium-webdriver') const By = webdriver.By var username = '' var password = '' var timeout = 5000 function FacebookLogin(username, password) { var driver = new webdriver.Builder() .withCapabilities(webdriver.Capabilities.chrome()) .build() driver.get('http://www.facebook.com') driver.wait(function() { return driver.isElementPresent(By.id('email')) }, timeout) var user = driver.findElement(By.id('email')) user.sendKeys(username) var pass = driver.findElement(By.id('pass')) pass.sendKeys(password) pass.submit() driver.sleep(5000) driver.quit() } […]

为什么Chrome试图在Selenium下运行Chromedriver时无法启动?

所以我有一个Chromedriver /selenium设置工作之前,但现在试图安装在一台新的机器上(64Bit Linux)的一切,它给我的问题,并没有告诉我什么是绊倒。 我正在使用Selenium独立服务器版本2.37.0和nodejs以及Google上现有的最新版本的Chromedriver(我也尝试过之前版本的Chromedriver 2.0,结果相同)。 如下面的输出所示,当我尝试使用webdriver运行脚本时,出现以下错误: Caused by: org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally 。 我没有从chromedriver输出日志,只输出Selenium(带有错误)和Node.js(尝试运行testing脚本)。 任何人都可以给我一个我在做什么错误的想法吗? 编辑:我忘了补充说,在失败后有一个与Chromedriver运行的过程,所以这一块是好的,我的Chrome可执行文件确实在像Chromedriver希望它是在/ etc / bin /谷歌铬。 Output: 一旦我开始selenium运行,我试图运行一个简单的testing脚本的内容: var webdriverjs = require("webdriverjs"); var client = webdriverjs.remote({desiredCapabilities:{browserName:"chrome"}}); // to run in chrome client .init() .url("https://github.com/") .end(); 运行testing脚本的Node.js控制台输出如下所示: [1;33m=====================================================================================[0m Selenium 2.0/webdriver protocol bindings implementation with helper commands in […]

通过Jenkins CI在Docker容器中运行Seleniumtesting的最简单的方法

我想执行我的自动化testing,在Nightwatch-Cucumber上用Docker容器中的Jenkins CI编写。 我有一个我想用它的Docker镜像。 这是我想要更详细地做的。 开始Jenkins CI工作的testing 在同一台机器上加载Docker镜像,并启动相关的Docker容器。 这个容器基于Unix操作系统。 此外,Docker容器中的一些configuration将被执行。 testing将通过xvfb在无头模式下执行(从本地或远程),报告将保存在Jenkins机器上。 在GitLab CI上我已经通过.gitlab-ci.ymlconfiguration文件实现了它,它运行得非常好: image: "my-docker-image" stages: – "chrome-tests" before_script: – "apt-get update" – "apt-get install -y wget bzip2" – "npm install" cache: paths: – node_modules/ run-tests-on-chrome: stage: "chrome-tests" script: – "whereis xvfb-run" – "xvfb-run –server-args='-screen 0 1600x1200x24' npm run test-chrome" 但我想要与Jenkins CI实现相同的过程。 什么是最简单的方法来执行它,并在由Jenkins调用的Docker镜像中运行我的自动化testing? 我应该写一个Dockerfile或不或或或?