nav*_*vid 2 javascript end-to-end jasmine angularjs protractor
我是量角器的新手.我已经为第一个用户登录应用程序编写了一个角度测试,然后单击特定按钮来计算一个数字.有时它有效,有时不行!
这是代码:
describe('Protractor Demo App', function () {
it('should login to app', function () {
browser.get('http://localhost:8080/main');
var userName = element(by.id('username'));
var passWord = element(by.id('pwd'));
var loginBtn = element(by.id('loginBtn'));
userName.sendKeys('user');
passWord.sendKeys('1');
loginBtn.click();
expect(browser.getCurrentUrl()).toEqual('http://localhost:8080/main/#/intro');
});
it('should calculate something', function () {
browser.get('http://localhost:8080/main/#/something');
var next = element(by.css('[ng-click="calculate()"]'));
element(by.model('accountNo')).sendKeys('0293949223008');
next.click();
expect(element(by.binding('result')).getText()).toEqual('55017000000029');
});
it('should show error for invalid input no', function () {
browser.get('http://localhost:8080/main/#/something');
var next = element(by.css('[ng-click="calculate()"]'));
element(by.model('accountNo')).sendKeys('9999456123789');
next.click();
expect(element(by.css('[class="messageObject warning"]')).getText()).toEqual('message for invalid input');
});
});
Run Code Online (Sandbox Code Playgroud)
首先"它"总是有效,但第二和第三,有时是工作.碰巧只有一个人没有工作;
这是错误:
消息:失败:未知错误:元素...在点(1214,275)处不可点击.其他元素将收到点击:...(会话信息:chrome = 55.0.2883.87)(驱动程序信息:chromedriver = 2.26.436362(5476ec6bf7ccbada1734a0cdec7d570bb042aa30),平台= Windows NT 10.0.10240 x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:78毫秒构建信息:版本:'2.53.1',修订版:'a36b8b1',时间:'2016-06-30 17:37:03'系统信息:主机:'用户' ,ip:'ip',os.name:'Windows 8.1',os.arch:'amd64',os.version:'6.3',java.version:'1.8.0_45'驱动程序信息:org.openqa.selenium. chrome.ChromeDriver Capabilities [{applicationCacheEnabled = false,rotateEmulationEnabled = false,networkConnectionEnabled = false,chrome = {chromedriverVersion = 2.26.436362(5476ec6bf7ccbada1734a0cdec7d570bb042aa30),userDataDir ='add'},takesHeapSnapshot = true,pageLoadStrategy = normal,databaseEnabled = false,handlesAlerts = true,hasTouchScreen = false,version = 55.0.2883.87,platform = WIN8_1,browserConnectionEnabled = false,nativeEvents = true,a cceptSslCerts = true,locationContextEnabled = true,webStorageEnabled = true,browserName = chrome,takesScreenshot = true,javascriptEnabled = true,cssSelectorsEnabled = true,unexpectedAlertBehaviour =}]会话ID:45d78fbebf15daa1dde971f5f7470551
我不知道问题是什么.谁能帮我?提前致谢.
在执行单击操作之前,使用ExpectedConditions.isElementToBeClickable()方法实现browser.wait().你遵循如下:
var EC = protractor.ExpectedConditions;
it('should show error for invalid input no', function (){
browser.get('http://localhost:8080/main/#/something');
var next = element(by.css('[ng-click="calculate()"]'));
element(by.model('accountNo')).sendKeys('9999456123789');
browser.wait(EC.elementToBeClickable(next ), 10000,'Element not
clickable');
next.click();
expect(element(by.css('[class="messageObject
warning"]')).getText()).toEqual('message for invalid input');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
972 次 |
| 最近记录: |