Tag: selenium

Selenium-Webdriver NodeJS相当于Java代码的DesiredCapabilities

我已经在selenium-webdriver位于这里( http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/index_exports_Capabilities.html )search文档(这里没有什么) 我找不到从Java到NodeJS的等效代码。 这里是JAVA中的代码(我从这里复制testingconfiguration选项部分, https://github.com/zalando/zalenium/blob/master/docs/usage_examples.md#initial-setup ) DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); desiredCapabilities.setCapability(CapabilityType.BROWSER_NAME, BrowserType.FIREFOX); desiredCapabilities.setCapability(CapabilityType.PLATFORM, Platform.LINUX); desiredCapabilities.setCapability("name", "myTestName"); 特别是我想设置能力“名称”,所以我可以用Zalenium命名我的testing。 我如何在NodeJS中做到这一点? 这是我目前的selnium webdriver代码,它的工作(和编辑删除敏感信息),但不设置testing名称。 我试过这个.withCapabilities(webdriver.Capabilities.chrome(),{“name”,“chrometest”}),它编译,但我不认为它做什么? //Run using this project (https://github.com/qmu/dockerfiles/blob/master/src/selenium-webdriver-node/example/bin/run) "use strict"; const webdriver = require('selenium-webdriver'), By = webdriver.By, until = webdriver.until, test = require('selenium-webdriver/testing'); //const expect = require('expect.js'); const assert = require('assert'); var driver = new […]

如何select最佳自动化与selenium工具组合

这可能是基于意见的问题,但我真的很困惑select自动化工具组合。 到目前为止,我一直在使用Selenium webdriver,maven和Java来构build自动化框架。 这似乎完全正常工作。 现在有一天我觉得很多自动化工程师WebdriverJS使用WebdriverJS , WebdriverIO , WebdriverIO等等。 有人告诉我,如果使用WebdriverJS / WebdriverIO / WebdriverJS构build自动化框架,那么执行速度将比Java快。 我知道我应该根据自己的需求来select工具,但是同时我觉得我们不能在某些网站中使用WebdriverJS / WebdriverIO / WebdriverIO在这种网站中所有的元素都必须被xpath为dynamic改变class / id大多数元素。 所以,如果任何人都可以给我提示哪些工具select哪种网站,那么这将是非常有帮助的。 即对于AngularJS网站Node.Js对于selenium自动化Node.Js是很好的。

asynchronous运行多个selenium webdriver实例(firefox)

我怎样才能让我的webdriver同时请求多个页面(或打开多个浏览器)? 我在互联网上find的所有解决scheme等待,直到前一届会议完成加载,然后才打开浏览器的新实例。 我已经尝试过selenium-webdriver,webdriverjs和wdjs,它们都不能asynchronous执行多个不同页面的http请求。 即使这样的解决schemehttps://github.com/OniOni/wd-parallel-async不会工作。 他们都在时间打开一个。 我错过了什么吗? PS:我不想同时运行多个浏览器! 我想运行同一浏览器的多个实例。

来自Javascript API的Selenium WebDriverJS

挣扎了一下,以便同时了解WebDriverJS和promise …并且大部分示例代码都是针对Python / Java,而不是Javascript。 所有我想要做的是获得一个页面的完整的HTML。 所以,如果你看看WebDriverJS的相同的代码: var webdriver = require('selenium-webdriver'); … driver.get('http://www.google.com'); driver.findElement(webdriver.By.name('q')).sendKeys('webdriver'); driver.findElement(webdriver.By.name('btnG')).click(); driver.wait(function() { return driver.getTitle().then(function(title) { return title === 'webdriver – Google Search'; }); }, 1000); 我试图简单地返回整个HTML文档,而不是只有标题。 在Python中,将是driver.page_source。 我从例子中学到了很多东西 ,所以我在这里有点失意。

如何检查一个元素是否存在selenium nodejs

我想检查页面上是否存在元素(不应该),如果不存在则继续。 driver.wait(function() { fieldBool = driver.isElementPresent(webdriver.By.id("someId")); return fieldBool; }, timeout).then(function(b) { assert.equal(false, b, "message"); }); 我想fieldBool为false,但testing停止(超时或不存在这样的元素)。

运行Nightwatch.jstesting时如何获得当前运行testing的浏览器名称?

情况 :我们使用Nightwatch在几个浏览器上运行testing ( 通过Saucelabs;一切运行良好Saucelabs )。 期望的 :我们想知道哪个浏览器 正在运行testing,所以我们可以保存截图,包括浏览器名称。 是否有可能确定哪个浏览器正在运行testing?

运行多个守夜实例

在我目前的公司,我们有大约10个网站。这些都来自一个代码库。 无论何时我们改变“核心”代码库中的某些东西,我们都希望在所有10个网站上并行运行testing。 它在云中更容易,但我们也希望能够在本地进行。 为了实现这一点,我基本上启动了多个Selenium实例,它们都有自己的端口,并为每个实例设置了不同的nightwatch launch_url 所以我做了一个NodeJS脚本..它为每个站点创build了一个nightwatch.json,每个站点都拥有自己的launch_url和selenium端口。并且引用了10次自己的jsonconfiguration文件。 但是我想知道这是否是“正确的”方法。 Selenium Grid是否可以解决这个问题? 也用于本地testing? 谢谢!

组织3个环境的testing用例

我是量angular器新手。 我已经为开发环境创build了我的testing用例,并且工作正常。 现在我必须移动生产和质量保证的testing用例。 由于3环境中的代码是相同的,我不想为所有的3环境创build重复的代码。 总之,如果我运行我的代码进行开发,我应该这样做 protractor conf.js -dev 为生产 protractor conf.js -production. -dev和-production是相应的url。 任何人都可以告诉我一个方法,我可以实现它? 还是应该为3个环境创build3个conf.js文件?

无法运行webdriverpipe理器

当我跑步 vegan @ vegan:〜/ xx-xx / gateway $ webdriver-manager start /usr/lib/node_modules/protractor/node_modules/webdriver-manager/built/lib/cli/logger.js:66 info(… msgs){ ^^^ 在Module._compile(module.js:387:25)上的Import.runInThisContext(vm.js:53:16)上,在Object.Module._extensions..js(module.js:422:10)处,SyntaxError:Unexpected token … )在Module.load(module.js:357:32)在Module.require(module.js:367:17)在Function.Module._load(module.js:314:12)在要求(内部/ module.js :20:19)在Object。 (/usr/lib/node_modules/protractor/node_modules/webdriver-manager/built/lib/cli/index.js:8:10)在Module._compile(module.js:413:34)在Object.Module._extensions。 .js(module.js:422:10) 我有错误。 量angular器不运行时开始。 错误是这样的 量angular器错误selenium弹簧启动 但这次更新版本,没有工作。 所以我没有npm安装,鲍尔gulp安装后,我删除节点模块文件。 现在为了运行(我使用吞咽量angular器),我得到了这个 > gulp protractor prod [15:47:58] Using gulpfile > ~/xx-xx/gateway/gulpfile.js [15:47:58] Starting 'protractor'… > [15:47:58] Starting 'prod'… [15:47:58] Finished 'prod' after 547 μs > Using ChromeDriver directly… […]

夜间卡住启动selenium服务器

我正在使用nightwatch.js来testing网站。 2天前,它的工作,但从明天起它没有工作。 当我试图用$ nightwatch <test_file>进行testing时(因为我在全球安装了$ nightwatch <test_file>而且它工作了一个月),它显示了Starting selenium server…并没有任何东西。 使用–verbose不会显示其他内容。 它也只是显示Starting selenium server…我更新了chromedriver,nightwatch和npm,但是一样。 我正在使用Ubuntu 16.04.1 LTS,amd64 chromedriver_linux64.zip 手表0.9.14 selenium的服务器独立-3.3.1 这是我的nightwatch.json { "src_folders" : ["tests/e2e"], "output_folder" : "tests/reports", "custom_commands_path" : "tests/custom", "custom_assertions_path" : "", "page_objects_path" : "", "globals_path" : "", "selenium" : { "start_process" : true, "server_path" : "./bin/selenium-server-standalone-3.3.1.jar", "log_path" : "tests/logs", "host" : "127.0.0.1", "port" […]