使用量角器和Azure AD进行身份验证登录测试

时间:2015-02-09 12:47:42

标签: angularjs azure protractor

我正在尝试使用e2e测试对用户进行身份验证。我无法让这个工作。单击Azure AD登录页面上的按钮后,测试永远不会等待。

describe('angularjs homepage', function() {

var ptor = protractor.getInstance();
ptor.ignoreSynchronization = true;



it('should greet the named user', function() {
    var driver = ptor.driver;

    browser.driver.manage().window().setSize(1500, 1000);

    browser.driver.get('https://test.azurewebsites.net/test-ui/');
    driver.findElement(By.id("cred_userid_inputtext")).sendKeys("TestUser@test.onmicrosoft.com");

    // Find the element that's ID attribute is 'pwd' (Password)

    // Enter Password on the element found by the above desc.

    driver.findElement(By.id("cred_password_inputtext")).sendKeys("23423421asdasd");

    // Now submit the form. WebDriver will find the form for us from the element

    ptor.findElement(By.id("cred_sign_in_button")).click();

    browser.driver.sleep(50000);

    expect(element(by.id('username')).getText()).toEqual("Test User");
});

请帮助

2 个答案:

答案 0 :(得分:1)

我可以在填写表格后点击等待加载的按钮登录。

    driver.findElement(By.id("cred_password_inputtext")).sendKeys("23423421asdasd");

    browser.driver.sleep(2000);

    ptor.findElement(By.id("cred_sign_in_button")).click();

答案 1 :(得分:0)

我发现Azure AD登录页面需要双击该按钮。因此

   var btn = ptor.findElement(By.id("cred_sign_in_button"));

    btn.click();
    btn.click();

为我工作。