在Travis的Protractor上对Sauce Labs进行e2e测试

 海边的石雨价_288 发布于 2023-02-07 09:18

所以我有我的开源项目(https://github.com/ahmednuaman/radian),我有一些e2e测试,使用Protractor本地运行良好.

我已经按照Sauce Labs文档进行了.travis.yml相应的设置.测试运行直到Protractor尝试连接到Sauce Labs上的selenium服务器,这是错误的简要快照:

Running "exec:e2e" (exec) task
Using the selenium server at ahmednuaman-radian:06dd4e07-0f52-4fdf-be5e-389f2117bbf5@localhost:4445
>> 
>> timers.js:103
>> if (!process.listeners('uncaughtException').length) throw e;
>> ^
>> TypeError: Cannot read property 'length' of undefined
>>     at HttpClient.send (/home/travis/.nvm/v0.8.26/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:62:16)

这是完整的工作日志:https://travis-ci.org/ahmednuaman/radian/jobs/16250460

所以我接下来要做的就是尝试在本地模拟这个.我阅读了Sauce Labs Connect文档并最终在我的终端中运行了这个:

java -jar ~/bin/Sauce-Connect.jar USERNAME PASSWORD

一切都很顺利,与特拉维斯完全一样,但随后我运行了我的grunt e2e任务(在更新后protractor.conf.coffee匹配Travis配置本地)并收到了与Travis相同的错误,这里是一个快照:

Running "exec:e2e" (exec) task
Using the selenium server at ahmednuaman-radian:06dd4e07-0f52-4fdf-be5e-389f2117bbf5@localhost:4445
>> 
>> /Users/ahmed/bin/node/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1542
>>       throw error;
>>             ^
>> TypeError: Cannot read property 'length' of null
>>     at HttpClient.send (/Users/ahmed/bin/node/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:62:16)

我有一个谷歌,但我找不到其他人有这个问题.那么,这是我的配置吗?它是量角器/网络驱动器问题吗?关注这个问题?

1 个回答
  • 好吧,重新阅读所有文档后,我发现我的config.seleniumAddress错误,因为它错过/wd/hub了最后的路径; 然后我收到了一个新错误:它抱怨我的凭据.

    潜入Protractor的源代码后,我发现这个doozy,sauce*如果我指定了一个,它基本上消灭了所有凭据seleniumAddress,所以我从配置中删除它,再次尝试并且它有效!Woop woop!这是特拉维斯的输出,只是为了好玩:https://travis-ci.org/ahmednuaman/radian/jobs/16271613

    因此,通过Travis让Protractor在Sauce Labs上运行的方法是使用这些配置选项:

    config.sauceUser = process.env.SAUCE_USERNAME
    config.sauceKey = process.env.SAUCE_ACCESS_KEY
    config.capabilities =
      'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
      'build': process.env.TRAVIS_BUILD_NUMBER
    

    不是添加一个seleniumAddress.

    2023-02-07 09:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有