提问人:Andres David Ortega Lobo 提问时间:10/28/2023 最后编辑:Andres David Ortega Lobo 更新时间:10/28/2023 访问量:24
处理 Galen 框架 JS 上的警报
Handle alerts on Galen framework JS
问:
我已经在 Galen 上开发了一段时间,但在处理测试警报时遇到了一堵墙。在这种情况下,在测试上执行几个步骤后,会弹出一个警报,需要身份验证才能继续测试。
我已经尝试过使用 driver.switchTo().alert(),但这根本不起作用。我能够使用 Java 函数在另一个项目中绕过它的唯一方法。现在,据我所知,这仅适用于 Java,我还没有在 Galen 上找到 JS 的任何替代方案。((HasAuthentication) webDriver).register(() -> new UsernameAndPassword("admin", "admin"));
这是我的 Galen 测试,我已经评论了出现警报的步骤。
有问题的警报:这里
谢谢!
// First, the pages document is loaded so the page elements can be used on the test
load("Pages\\ACloginPages.js");
// In this function, which is done before the test, the web page is loaded and the driver is created
beforeTest(function () {
driver = createDriver("***", "2030x1140");
session.put("driver", driver);
});
//Here the different viewports are declared and later used on the test
var devices = {
mobile:{
deviceName:"mobile",
tags:["mobile"],
size: "500x844"
},
desktop:{
deviceName:"desktop",
tags:["desktop"],
size:"1920x1080"
},
tablet:{
deviceName:"tablet",
tags:["tablet"],
size:"820x1180"
}
};
// On the test function, the web driver is executed and it navigates to the beta web page before
// Executing the UI test, note that the viewports declared above are used here on the test.
forAll(devices, function(){
test("My trips page on ${deviceName} final", function(device){
var driver = session.get("driver");
var legacyPage = new LegacyPage(driver);
legacyPage.waitForIt("200s");
legacyPage.betaButton.click();
var loginPage = new LoginPage(driver);
loginPage.waitForIt("200s");
** ALERT APPEARS HERE **
loginPage.loginUser.typeText("[email protected]");
loginPage.loginPassword.typeText("Abc@123456");
loginPage.loginSubmit.click();
GalenPages.sleep(15000);
var flightsTab = new FlightsTab(driver);
flightsTab.tripType.waitForIt("200s");
** ALERT APPEARS HERE **
flightsTab.bookPoints.click();
flightsTab.tripType.click();
GalenPages.sleep(5000);
flightsTab.multicitySelect.click();
flightsTab.tripClose.click();
GalenPages.sleep(5000);
flightsTab.add1Stopover.click();
flightsTab.add2Stopover.click();
GalenPages.sleep(3000);
resize(driver, device.size);
checkLayout(driver,"Gspecs\\HP-3444.gspec",device.tags);
});
});
//After the test is donde the driver closes
afterTest(function() {
var driver = session.get("driver");
driver.quit();
});
我尝试使用 chromedriver 警报阻止功能和 switchTo().alert() selenium 方法,但这些方法都不起作用。
答: 暂无答案
评论