我正在尝试使用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");
});
请帮助
答案 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();
为我工作。