protractor自动化测试注意事项

1、使用PageObject模式写代码的时候:

expect(element(by.binding('notPresent')).isPresent()).toBe(false);

这句代码需要分开写:page中写:greeting=element(by.binding('notPresent')).isPresent();test中写expect(greeting).toBe(false);

2、代码中需要这句:

browser.ignoreSynchronization = true;

不然代码会在11s后报错;

3、element(by.css())=$;

如:

LMCCHome_input=element(by.css((".actions li #mcc")); 可以定义成 LMCCHome_input=$(".actions li #mcc");

4、element.all(by.css())=$$;

如:

LMCCHome_input=element.all(by.css((".actions li #mcc")); 可以定义成 LMCCHome_input=$$(".actions li #mcc");

5、运行脚本报错:SessionNotCreatedError: Unable to create new service: ChromeDriverService

问题原因:chrom和chromedriver没有更新到最新版本

解决办法:

webdriver-manager update --chromedriver

6、目录结构:C:\Pratractor ui automation\protractor\test\e2e\protractor.conf.js,nodemodel的目录为:C:\Pratractor ui automation\protractor\node_modules这里面的都是脚本中需要的模块,如果采用本地安装就会安装在这个目录下,如果采用全局安装:eg. 

npm install -g request

 

 

8、在一个目录下通过npm安装模块,该目录下会生成一个node_models文件夹和一个package.json文件。

 9.jenkis集成报错:

 

 

10. protractor最好使用全局安装:

1、只本地安装无法运行脚本;

2、只全局安装,必须启动

seleniumAddress: 'http://localhost:4444/wd/hub'设置,不然会报错:Could not find chromedriver

3、全局和本地同时安装:

1、执行了:webdriver-manager update,

node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver会装在全局变量中,本地相应的路径不会安装;需要把node_modules\protractor\node_modules\webdriver-manager\selenium包弄到本地对应的包中就运行通过。

11.只通过一条命令运行脚本:

1)注释掉 seleniumAddress:http://localhost:4444/wd/hub;

2)把protractor安装在本地,并且保证node_modules\protractor\node_modules\webdriver-manager\selenium包中有chrome.driver

这样服务器会自动分配一个端口给webdriver server;

12.使用firefox执行浏览器,当没有安装firefox的时候,windows下报错如下:

当没有安装chrome的时候,windows下报错如下:

13.protractor的目录层级:(想以一个大菜单为一个文件夹,里面写case)

1)如果要在page-specs里面再建文件夹,里面文件夹的js脚本引用需要写绝对路径;

2)也可能建和page-spece平级的文件夹:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值