【发布时间】:2015-07-09 15:25:30
【问题描述】:
我正在测试 Angular 网站。我们的应用程序从登录页面开始,然后是垂直应用程序选择框架(在页面的左角),它们是非 Angular 网页,然后在左框架中选择应用程序后,它会在另一个框架内打开 Angular 站点框架(应用程序选择框架的右侧)。
我有以下代码来使用 Cucumber 和 Protractor 自动化场景。 从左侧框架登录并启动应用程序后,我收到错误消息:
未捕获的异常:等待量角器与页面同步时出错:“在窗口上找不到角度”。
[启动器] 进程退出,错误代码为 1
进程以退出代码 1 结束
请在下面找到代码sn-p:
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
var assert = chai.assert;
var myStepDefinitionsWrapper = function () {
this.Given(/^I login to the application with valid (.*) and (.*)$/, function (username, password) {
browser.driver.get(browser.baseUrl);
browser.driver.wait(function () {
return browser.driver.isElementPresent(by.id("ContentPlaceHolder1_UsernameTextBox"));
}, 10000);
browser.driver.findElement(by.id("ContentPlaceHolder1_UsernameTextBox")).then(function (usernameField) {
usernameField.sendKeys(username);
});
browser.driver.findElement(by.id("ContentPlaceHolder1_PasswordTextBox")).then(function (passwordField) {
passwordField.sendKeys(password);
});
return browser.driver.findElement(by.id("ContentPlaceHolder1_SubmitButton")).click();
});
this.Given(/^I launch the application from application selection page$/, function () {
browser.driver.wait(function () {
return browser.driver.isElementPresent(by.xpath("//a[starts-with(@class,'cp-icon') and contains(@style,'applaunch_default_26x26')]"));
}, 10000);
browser.driver.findElement(by.xpath("//a[starts-with(@class,'cp-icon') and contains(@style,'applaunch_default_26x26')]")).click();
browser.driver.wait(function () {
return browser.driver.isElementPresent(by.xpath("//span[contains(@title,'AppName')]"));
}, 10000);
return browser.driver.findElement(by.xpath("//span[contains(@title,'AppName')]")).click();
});
this.When(/^I open the task for the (.*)$/, function (PersonName) {
//Anugular Website starts from here
browser.waitForAngular();
return element(by.xpath("//td[contains(text(),'" + personName + "')]/following::td[2]/button[text()='Perform']")).click();
});
【问题讨论】:
标签: javascript angularjs selenium protractor