情况如下:
我在两个不同的平台上运行测试:我的个人计算机(Windows 10)和虚拟机(Windows Server 2012 r2)。
我的测试在我的电脑上运行良好。然而,在我的VM上,只有一件事失败了。有时,当测试点击下拉菜单中的“注销”链接时,测试认为它已点击它但没有任何反应。所以测试无限期地等待主页......
我的问题是:是否可以强制量角器
重要说明(不要犹豫要求澄清):
browser.ignoreSynchronization = true;
以下是我使用的代码:
var AtlasLogout = function () {
var localLogoutLink = atlasPage.logOutLink;
browser.wait(EC.presenceOf(localLogoutLink.getElement()))
.then(function () {
localLogoutLink.clickOnDropDownMenuItem();
})
.then(function () {
console.log("Clicked on logout");
})
return browser.wait(EC.visibilityOf(element(by.xpath('//input[@value="Login"]')), PAGE_WAITING_TIME));
getElement 函数使用外部文件中定义的方法(css,xpath或其他)返回ElementFinder,其中定义了所有页面元素。
localLogoutLink 是自定义类型 dropDownMenuItem 的对象。此类型具有自定义方法,例如 clickOnDropDownMenuItem 。 dropDownMenuItem 的定义如下:
var dropDownMenuItem = function (dropdownMenu, item) {
var self = this;
self.item = item;
self.dropdownMenu = dropdownMenu;
self.clickOnDropDownMenuItem = function () {
browser.actions().mouseMove(self.dropdownMenu.getElement()).click(self.item.getElement()).perform();
}
};