Tag: selenium

webdriver-manager更新抛出错误:连接ETIMEDOUT

安装webdriver-manager时出现ETIMEDOUT错误。 find错误的详细信息如下: C:\Users\….> webdriver-manager update webdriver-manager: using global installed version 12.0.6 events.js:160 throw er; // Unhandled 'error' event ^ Error: connect ETIMEDOUT XX.XXX.XX.XXX:XXX at Object.exports._errnoException (util.js:1018:11) at exports._exceptionWithHostPort (util.js:1041:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1086:14) 另外当我试图ping主机XX.XXX.XX.XXX 。 得到Destination net unreachable消息。 你可以请任何人帮我解决这个问题。

使用Selenium,BrowserStack和Node.js检测损坏的SSL或不安全的内容警告

我正在尝试使用Browserstack的Selenium及其Node.js驱动程序来设置一些自动化testing。 我想检查当通过HTTPS访问URL时页面是否显示任何不安全的内容警告。 有没有办法在Selenium中检测? 如果一个浏览器比另一个更容易。

selenium屏幕截图不保存指定的目录

我有我的seleniumtesting设置截屏,但他们没有保存到我指定的目录。 任何人都可以告诉我我失踪了吗? 以下是我在testing中configuration屏幕截图的方法: function writeScreenshot(data, name) { var fs = require('fs'); name = name || 'ss.png'; var screenshotPath = mkdirp(configuration.readSettings('screenshotDirectory') + fileNameURL + "/", function(err){}); fs.writeFileSync(screenshotPath + name, data, 'base64'); }; 然后我截图: driver.takeScreenshot().then(function(data) { var screenshotFile = os + '_' + osVersion + '_' + browser + '_' + browserVersion + '.png'; writeScreenshot(data, screenshotFile); }); […]

错误:done()与非错误调用:{}

我试图设置自动testing,使用Mocha和PhantomJS Selenium with Node。 我使用selenium-webdriver库,因为它似乎是一个stream行的,但是当我运行testing,并尝试从一个页面提取数据,它给了我这个错误: 1) Test "before each" hook for "Test": Error: done() invoked with non-Error: {} at ManagedPromise.invokeCallback_ (node_modules/selenium-webdriver/lib/promise.js:1379:14) at TaskQueue.execute_ (node_modules/selenium-webdriver/lib/promise.js:2913:14) at TaskQueue.executeNext_ (node_modules/selenium-webdriver/lib/promise.js:2896:21) at node_modules/selenium-webdriver/lib/promise.js:2775:27 at node_modules/selenium-webdriver/lib/promise.js:639:7 我不知道为什么这个问题正在发生,search没有帮助,因为我的解决scheme不适合我的情况。 我上线了: Mac OS X 10 Node.js v4.4.5 PhantomJS 2.1.1 这是我的脚本: var selenium = require("selenium-webdriver"); var should = require("should"); var URL = "https://android.com"; var […]

要删除Browser.sleep()

大家好我正在量angular器testing一个nonangular网站。 最初,当我testing了browser.sleep()以便页面完全加载。 我知道添加browser.sleep不是一个好的testing方法,因此想从代码中移除它。 我尝试browser.wait,但我得到一个错误,当我添加broswer.manage.timeouts.implicitwait()等待不会发生。 我困在这个问题很长一段时间请帮我出:( var co = require('co'); var path = require('path'); describe("Portal: Partner Admin ", function () { beforeEach(function () { browser.ignoreSynchronization = true; }); it("test", co.wrap(function* () { yield browser.get(browser.params.baseUrl); var elmOK = browser.driver.findElement(by.css('a[href="#login"]')); yield elmOK.click(); expect(browser.getCurrentUrl()).toContain("login"); yield browser.switchTo().frame('here-account-sdk').then(function () { browser.driver.findElement(by.id('sign-in-email')).sendKeys("Userid"); browser.driver.findElement(by.id('sign-in-password-encrypted')).sendKeys("password"); browser.driver.findElement(by.xpath(' //*[@id="sign-in-form"]/div[2]/div[6]/form/fieldset[3]/button')).click(); }); browser.sleep(5000); var elmOK = browser.driver.findElement(by.xpath('//*[@id="lnav"]/li[3]/a')); yield […]

了解Web驱动程序API

如果我在WebDriver API上理解了W3C的信息,那么实现这个API的浏览器就可以通过使用RESTful API来实现自动化。 也就是说,我可以打开HTTP连接到浏览器,并使用REST向其发送命令。 我也发现这个Gist确认我的猜测是正确的:Node.js脚本直接连接到一个已经作为WebDriver服务器启动的PhantomJS。 到现在为止还挺好。 我现在不明白为什么显然,对于任何其他浏览器,我仍然需要一个selenium​​服务器。 即使像webdriverjs这样的项目也要求我运行一个Selenium服务器。 我的问题是:为什么? 不应该有一个额外的Selenium服务器自动化浏览器? 如果浏览器不能直接提供这个API(就像PhantomJS显然那样)? 任何人都可以点亮一下吗?

Node.js + Selenium如何正确parsinghtml

我想遍历页面上的所有元素: th元素的path是div [id ='specs-list'] / table / tbody / tr / th : 我的脚本是: var webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder(). withCapabilities(webdriver.Capabilities.chrome()). build(); driver.get('http://www.gsmarena.com'); driver.findElement(webdriver.By.name('sName')).sendKeys('iphone 4s'); driver.findElement(webdriver.By.id('quick-search-button')).click(); driver.findElement(webdriver.By.xpath("//div[@id='specs-list']/table/tbody/tr/th")).then(function(elem){ console.log(elem.getText()); }); 但是我得到: drobazko@drobazko:~/www$ node first_test.js { then: [Function: then], cancel: [Function: cancel], isPending: [Function: isPending] } 相反,文字General问题是: 1.如何获得正确的文本string? 2.我如何遍历许多要素?

运行node.js文件和selenium时,找不到模块“glob”

我正在尝试在JavaScript中快速创build一个Selenium Webdriver。 我已经build立了: var webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder() .withCapabilities(webdriver.Capabilities.chrome()) .build(); 我已经安装了selenium-webdriver。 我认为这个问题来自Grunt。 我已经找遍了所有的答案,但我还没有find一个工作的解决scheme。 有任何想法吗?

自动e2etesting – WebDriverJS,茉莉花

我正在按照这个教程http://engineering.wingify.com/posts/e2e-testing-with-webdriverjs-jasmine/ 第一部分要求创buildtestfile.js var webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder(). withCapabilities(webdriver.Capabilities.chrome()). build(); driver.get('http://www.wingify.com'); 当我运行node testfile.js时,我能够运行浏览器 我创build了testfile.js $ cat testfile.js var webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder(). withCapabilities(webdriver.Capabilities.chrome()). build(); describe('basic test', function () { it('should be on correct page', function () { driver.get('http://www.wingify.com'); driver.getTitle().then(function(title) { expect(title).toBe('Wingify'); }); }); }); 我到了你运行jasmine-node的地方 $ jasmine-node testfile.js […]

seleniumNodejs CHROMEDRIVERpath

试过用“npm install selenium-webdriver”,我仍然得到下面的错误。 任何想法的path是不是在? Error: The ChromeDriver could not be found on the current PATH. Please download the latest version of the ChromeDriver from http://chromedriver.storage.googleapis.com/index.html and ensure it can be found on your PATH. at Error (<anonymous>) at new ServiceBuilder (/var/www/nodejs/node_modules/selenium-webdriver/chrome.js:51:11) at getDefaultService (/var/www/nodejs/node_modules/selenium-webdriver/chrome.js:216:22) at new Driver (/var/www/nodejs/node_modules/selenium-webdriver/chrome.js:470:32) at Builder.build (/var/www/nodejs/node_modules/selenium-webdriver/builder.js:302:14) at Object.handle (/var/www/nodejs/node.js:31:4) at […]