我创建了主页和登录页面的页面对象。现在我正在尝试继续我的测试用例,但是我在登录btn时遇到了问题。当我的测试用例运行时,它没有点击logIn btn。这里有没有人有同样的问题?
let chai = require("chai").use(require("chai-as-promised"));
import { defineSupportCode } from 'cucumber';
import {browser, element, by, ElementFinder, $, $$ , until } from 'protractor' ;
const expect = chai.expect;
import { HomePage } from '../page-objects/pm360-home-page';
import { LoginPage } from '../page-objects/pm360-login-page';
var pm360_homepage = new HomePage();
//var pm360_loginpage = new LoginPage();
defineSupportCode(({Given,Then }) => {
Given('I login into pm360 page with a valid authentication {string} and {string}',
async function givenauth(username: string, password: string): Promise<void>{
pm360_homepage.OpenBrowser('https://pm360-qa.parkmobile.io/');
await pm360_homepage.usernameField.sendKeys('.....');
await pm360_homepage.passwordField.sendKeys('......');
//browser.actions().sendKeys(protractor.Button.MIDDLE).click();
pm360_homepage.ClickLogIn();
//pm360_homepage.logInBtn.click().then(()=> {"looged In"});
//browser.touchActions().tap(pm360_homepage.logInBtn).perform().then(()=> {"logged In"});
browser.ignoreSynchronization = true;
});
Given('I navigate through manage policies',
async function givenmanaging():Promise<void>{
browser.ignoreSynchronization = true;
//browser.wait(until.elementsLocated(pm360_homepage.managePoliciesBtn));
await pm360_homepage.managePoliciesBtn.click();
//browser.waitForAngularEnabled(true);发布于 2020-01-02 18:19:40
您的OpenBrowser()和ClickLogIn()函数是否返回promises?如果是这样的话,你也必须为这些承诺添加await。未单击该按钮的原因是您没有正确使用await语句。
注意:你将不得不等待你遇到的每一个承诺,如果这些承诺中的任何一个逃脱了等待,它们将被同步执行,从而拒绝你的承诺。您将无法理解它,因为您的代码将运行,并且测试用例将失败。确保在配置文件中设置了SELENIUM_PROMISE_MANAGER: false,并确保正确处理了所有承诺。
https://stackoverflow.com/questions/59558259
复制相似问题