带有phantomjs的量角器永远挂起

恩波科马卡

这是我的配置文件:

exports.config = { 
   seleniumServerJar: './selenium-server-standalone-2.43.1.jar', 
  "capabilities": { 
    "browserName": "phantomjs"   
 }, 
 specs: [ 
        "test.js" 
    ], 
    jasmineNodeOpts: { 
        isVerbose: false, 
        showColors: true, 
        includeStackTrace: true 
    }, 
};

这就是所谓的test.js。它是针对ng-europe社区站点的,因此每个希望使用它的人都可以运行。我选择它来学习量角器,因为它是用角度编写的:

describe('test ng-europe', function() { 

        beforeEach(function() { 
                browser.get('http://ngeurope.org'); 
        }); 

         it('should have a title', function() { 
                expect(browser.getTitle()).toContain('ng-europe'); 
                element.all(by.repeater('avatar in talk.avatars')).count().then(function(count) { 
                        console.log(count); 
                }); 
        }); 

        it('search something', function() { 
                var search_=element(by.model('speakerq')); 
                var speakers_=element.all(by.repeater('speaker in config.speakers').column('name')); 
                var speakers = $$('div.speaker.col-xs-12.col-sm-4.text-center.ng-scope img.img-responsive.img-thumbnail.img-circle.avatar');
                search_.sendKeys('igor'); 
                expect(speakers.count()).toBe(1); 
                console.log("speakers count" + speakers.count()); 
        }); 

        it('search something else', function() { 
                var search_=element(by.model('talksq')); 
                var talkers = $$('ul.list-unstyled li.ng-scope.ng-binding span.speakers-names.ng-binding'); 
                search_.sendKeys('with'); 
                expect(talkers.count()).toBe(8); 
                console.log("talkers count" + talkers.count()); 
        }); 

        it('click on jobs', function() { 
                var jobs_button=element(by.linkText('Jobs')); 
                jobs_button.click(); 
                var sponsors=$$('div.col-md-4 img.sponsor-logo.gold-sponsor') 
                expect(sponsors.count()).toBe(4);        
        }); 
});

这就是我所说的:

>protractor conf.js

selenium驱动程序在同一目录节点中,%appdata%\ npm在路径中,phantomjs已安装并更新。如果我将驱动程序设置为chromefirefox一切运行都很好,但是使用phantomjs脚本将永远挂起并且什么也没发生。显示的错误,什么也没有。仅此:

Starting selenium standalone server... 
[launcher] Running 1 instances of WebDriver 
Selenium standalone server started at http://XX.XX.XXX.XX:60324/wd/hub

我想念的是什么?

ec

我至少设法使用以下方法运行测试:

  • phantomjs 1.9.7
  • protractor 2.0.0

但是,现在它在成功通过第一个it()后立即抛出以下错误消息

错误:失败:与远程浏览器通信时出错。它可能已经死了。

这是我使用过的配置(应用了多个phantomjs帮助器“技巧”):

exports.config = {
    seleniumArgs: ['-browserTimeout=60'],

    "capabilities": {
        "browserName": "phantomjs",
        'phantomjs.cli.args': [
            '--ignore-ssl-errors=true',  
            '--web-security=false'
        ]
    },

    specs: [
        "test.js"
    ],

    framework: "jasmine2",

    allScriptsTimeout: 20000,

    onPrepare: function () {
        browser.driver.manage().window().maximize();
    },

    jasmineNodeOpts: {
        showColors: true,
        isVerbose: true,
        includeStackTrace: true,

        defaultTimeoutInterval: 25000
    }
};

有很多人问如何解决这样的错误:

建议了不同的解决方法,但没有一个对我和其他人有用。

这就引出了答案的重点:为什么首先要使用phantomjs?

正如protractor开发人员所指出的

我们建议不要将PhantomJS用于Protractor测试。有许多报道的PhantomJS崩溃和行为与实际浏览器不同的问题。

延伸点。

如果使用的主要目的protractor是端到端测试,那么您绝对应该重新考虑您的浏览器选择。端到端测试应该模仿您的应用程序的真实用户,我敢肯定,该用户不会使用它phantomjs来浏览您的网站。

如果选择的原因phantomjs是没有真正的显示,则可以在xvfb(参见更多信息的帮助下使用虚拟显示器,或者在您自己的或由BrowserStack提供的远程硒服务器上运行测试Sauce Labs

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有phantomjs的量角器永远挂起

来自分类Dev

双击带有量角器的按钮

来自分类Dev

带有/不带有硒的量角器的区别?

来自分类Dev

使用PhantomJS的量角器错误

来自分类Dev

量角器在PhantomJS上运行测试

来自分类Dev

正确使用带有$ httpBackend的量角器

来自分类Dev

向下滚动到带有量角器的元素

来自分类Dev

带有量角器的IE中的select标签问题

来自分类Dev

正式使用带有角度的量角器

来自分类Dev

无法加载带有Firefox(最新的32个)浏览器的量角器

来自分类Dev

禁用带有量角器/调味汁瓶的[启动器]输出

来自分类Dev

单击带有量角器的转发器中的链接

来自分类Dev

量角器检索所有带有过滤列的行

来自分类Dev

角度量角器如何测试带有重定向状态的点击

来自分类Dev

无法在带有非角度站点的量角器中单击按钮

来自分类Dev

检查字段标签可见并且包含带有量角器的正确文本

来自分类Dev

使量角器等到UI Boostrap Modal框消失(带有Cucumingjs)

来自分类Dev

带有量角器js的剪贴板中的文本

来自分类Dev

带有量角器+ CucumberJs + Gulp的cucumberOpts.tags用法

来自分类Dev

量角器两个带有相同文本的按钮

来自分类Dev

getAttribute isPermaLink对于带有量角器的rss feed中的元素返回null

来自分类Dev

如何使用带有SauceLabs的量角器设置无休止的测试?

来自分类Dev

如何使用Xvfb在带有chrome的Jenkins上无角度运行量角器?

来自分类Dev

如何从带有量角器的元素中获取孩子的数量?

来自分类Dev

带有页面对象模型的量角器(Typescript 错误)

来自分类Dev

为什么量角器黄瓜无法在量角器黄瓜框架中找到带有最新版本的黄瓜的步骤文件

来自分类Dev

量角器:无法使用量角器获取所有元素

来自分类Dev

量角器的日志

来自分类Dev

量角器的reduceRight

Related 相关文章

  1. 1

    带有phantomjs的量角器永远挂起

  2. 2

    双击带有量角器的按钮

  3. 3

    带有/不带有硒的量角器的区别?

  4. 4

    使用PhantomJS的量角器错误

  5. 5

    量角器在PhantomJS上运行测试

  6. 6

    正确使用带有$ httpBackend的量角器

  7. 7

    向下滚动到带有量角器的元素

  8. 8

    带有量角器的IE中的select标签问题

  9. 9

    正式使用带有角度的量角器

  10. 10

    无法加载带有Firefox(最新的32个)浏览器的量角器

  11. 11

    禁用带有量角器/调味汁瓶的[启动器]输出

  12. 12

    单击带有量角器的转发器中的链接

  13. 13

    量角器检索所有带有过滤列的行

  14. 14

    角度量角器如何测试带有重定向状态的点击

  15. 15

    无法在带有非角度站点的量角器中单击按钮

  16. 16

    检查字段标签可见并且包含带有量角器的正确文本

  17. 17

    使量角器等到UI Boostrap Modal框消失(带有Cucumingjs)

  18. 18

    带有量角器js的剪贴板中的文本

  19. 19

    带有量角器+ CucumberJs + Gulp的cucumberOpts.tags用法

  20. 20

    量角器两个带有相同文本的按钮

  21. 21

    getAttribute isPermaLink对于带有量角器的rss feed中的元素返回null

  22. 22

    如何使用带有SauceLabs的量角器设置无休止的测试?

  23. 23

    如何使用Xvfb在带有chrome的Jenkins上无角度运行量角器?

  24. 24

    如何从带有量角器的元素中获取孩子的数量?

  25. 25

    带有页面对象模型的量角器(Typescript 错误)

  26. 26

    为什么量角器黄瓜无法在量角器黄瓜框架中找到带有最新版本的黄瓜的步骤文件

  27. 27

    量角器:无法使用量角器获取所有元素

  28. 28

    量角器的日志

  29. 29

    量角器的reduceRight

热门标签

归档