WebApp的自动测试工具: protractor和selenium

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebApp的自动测试工具: protractor和selenium相关的知识,希望对你有一定的参考价值。

Protractor是Selenium的扩充,支持Angularjs

 

element(by.css(‘my-css‘)).click();

 

一、用by的各种Locator定位元素

选中1个元素:

element(by.id(‘myid‘));
element(by.css(‘.myclass‘)); (可以简写为: $(‘myclass‘))
element(by.model(‘name‘));  // 只适用于NG
element(by.binding(‘bindingname‘)); // 只适用于NG, // Find an element bound to the given variable.

选中多个元素,返回元素集合(数组)

var eList = element.all(by.css(‘.myclass‘)); (可以简写为: $(‘myclass‘))

eList.count();  // 返回1个promise,不是简单的数字

eList.get(index);

eList.first();

eList.last();

 

多种选择and运算

element(by.css(‘myclass‘)).all(by.tagName(‘tag-within-css‘));

 

二、给元素动作:

!!! 所有的action都是异步的, 返回值是promise !!!!

var  ele = element(by.id(‘myid‘));

ele.click();

ele.sendkeys(‘muy text‘);

ele.clear();   clear the text

ele.getAttribute(‘value‘); // 获取元素的值

ele.getText().then(function(text) { // 因为action是异步,

      console.log(text);

     // 这里也可以写expect

}

 

三、

 

附录: 注意事项:

** 每一个test case 都是一个新的instance, 浏览器没有上一个测试的cache (例如search String)

** 如果有多个action,那么是顺序执行的,(因为都是异步的, 都会放到event 列表中)

 

以上是关于WebApp的自动测试工具: protractor和selenium的主要内容,如果未能解决你的问题,请参考以下文章

端到端测试,protractor测试的教程

不是使用Protractor测试顺序执行JavaScript

使用 Maven、Protractor 和 Selenium WebDriver 进行集成测试

如何在 Visual Studio Code 中使用 Typescript 和 Jasmine 框架编写 Protractor 测试脚本?

你可以同时使用 Protractor 和 Appium 来测试混合应用程序吗?

angular 调试 js (分 karms protractor / test e2e unit )