繁体   English   中英

量角器无法找到来自非角度站点的角度

[英]Protractor cannot find angular came from non angular site

在量角器中,我搜索运行良好的 LinkText 登录。 我被重定向到登录站点(非角度)并输入用户名和密码。 单击提交按钮,我回到了第一个站点。 现在登录按钮是一个注销按钮。 但是量角器看不到有角度的站点,我只能找到带有硒指示器的按钮。

spec.js 文件:

it ('should have a login Button to click', function() {
    loginPage.clickLoginButton();
});

it('should be on idm to login', function() {
    var url = browser.driver.getCurrentUrl();
    expect( url ).toEqual('http://localhost/webapp/login');
});

it('should have access with the given user', function() {
    var idmPage = require('./idmPage.js');
    idmPage.setUsername('bla');
    idmPage.setPassword('secret');
    idmPage.clickSubmitButton();
});

pageobject.js:

var IdmPage = function() {
var userField =  browser.driver.findElement(by.id('id_login'));
var passwordField = browser.driver.findElement(by.id('id_password'));
var submitButton = browser.driver.findElement(by.id('authentication-button'));

this.setUsername = function(username) {
    userField.sendKeys(username);
};
this.setPassword = function(password) {
    passwordField.sendKeys(password);
};

this.clickSubmitButton = function() {
    submitButton.click();
}; };  module.exports = new IdmPage();

conf.js

'use strict';

var baseDir = 'test/e2e'; 出口.config = {

// The adress of a runnung selenium server.
seleniumAddress: 'http://localhost:4444/wd/hub',

//Capabilities to be passed to the webdirver instance.
capabilities: {
    browserName: 'chrome'
},

//Spec patterns are relative to the current working directly when protractor is called

suites: {
    login: baseDir + '/login/**/*_spec.js',
    content: [baseDir + '/content/*_spec.js']
},

//Options to be passed to Jasmine-node
jasmineNodeOpts: {
    onComplete: null,
    isVerbose: true,
    showColors: true,
    includeStackTrace: false,
    defaultTimeoutInterval: 11000
}

};

在非角度页面和有角度页面之间切换时,您可能希望确保量角器实际上正在等待您的输入加载。 那么您在点击提交按钮后尝试使用browser.sleep()browser.wait()吗? 您应该设置browser.ignoreSynchronization = true; 测试非角度页面时。 量角器中的 browser.ignoreSynchronization 是什么?

更新:

browser.ignoreSynchronization = true;
this.clickLogoutButton = function(){
    browser.wait(function(){
        return loginButton.isPresent();
    }, 10000).then(function(){
        loginButton.click();
    });
}

这样您的测试将在测试超时前最多等待 10 秒。 您可以根据在按钮显示为可点击之前最多需要多长时间来更新它。 这就是我测试非角度网页的方式。 我希望这对你有用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM