繁体   English   中英

尝试使用量角器登录页面时未成功:未指出错误,但已加载同一页面

[英]No success when trying to login on a page using Protractor: no error is pointed but the same page is loaded

我是使用量角器的初学者。 我只是想在非角度页面中进行页面登录。 我尝试了许多解决方案/解决方法,最后一个基于以下链接:

http://agiletesters.com.br/topic/71/protractor-page-objects-typeerror-object-object-has-no-method-metodo/7

基本上,我有两个文件:conf.js和login.js(请参见代码)。 我执行以下命令(在提示符下,操作系统窗口中):量角器conf.js

//代码conf.js =>

exports.config = {
    framework: 'jasmine',
    specs: ['login.js'],
    directConnect: true
}

//代码login.js =>

    describe('Protractor Demo App', function() {
         browser.driver.ignoreSynchronization = true;
         var originalTimeout;

    beforeEach(function() {
        browser.driver.ignoreSynchronization = true;
        originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
        jasmine.DEFAULT_TIMEOUT_INTERVAL = 100000;
        browser.driver.get('http://www.maisbolao.com.br');
    });

    afterEach(function() {
        jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
    });

    it('should fill user and password and logins', function() {

        var loginNameInputElm = browser.driver.findElement(by.xpath('//*[@id="Email"]')); 
        var passwordInputElm = browser.driver.findElement(by.xpath('//*[@id="Senha"]'));
        var loginBtnElm = browser.driver.findElement(by.xpath('//*[@id="form-login"]'));
        loginNameInputElm.sendKeys('login');//i omitted the login and password information just for security reasons
        passwordInputElm.sendKeys('password');

        loginBtnElm.click();
    });

    it('reach?', function() {
        console.log("browser.driver.getCurrentUrl(): "+browser.driver.getCurrentUrl());
        browser.driver.sleep(5000);
    });

});

我还尝试将addCookie函数与JSESSIONID cookie值一起使用,但是显示了以下相同消息,并观察到相同行为。

量角器给我的消息是: 在此处输入图片说明

您的代码中存在一些问题:

it('reach?', function() {
    browser.sleep(5000); 
    // sleep 5s to wait page load after click login button for debug purpose
    // should replace to browser.wait()

    browser.getCurrentUrl().then(function(url){
       console.log("browser.driver.getCurrentUrl(): " + url);
    });
    // browser.getCurrentUrl() return a promise
    // you should consume the eventual value of promise inside then()       

    browser.sleep(5000);

 });

根据您的屏幕截图,有一些警告,但是您的2个测试通过了(2个规范0个失败)。

如果测试失败,您将得到红色的F而不是绿色的点。

暂无
暂无

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

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