【发布时间】:2019-07-04 12:41:30
【问题描述】:
我一直在使用带有测试的页面对象模型框架来运行我们的自动化测试,并且正在使用页面工厂类来初始化页面对象的 Web 元素。为了初始化一个类的 web 元素,我在我的页面对象构造函数中使用以下语句 - objectname = PageFactory.initElements(driver, Page.class);除了这段代码,我还有另一个语句来在构造函数中初始化我的驱动程序。像 driver = new firefoxdriver();我知道这不是正确的做事方式,但是当我执行调用此页面的测试时,我的浏览器会一次又一次地打开。但是,当我使用此方法时 - PageFactory.initElements(driver, this);这个问题不会发生,我的测试执行得很好。有人可以解释一下函数 PageFactory.initElements(driver, Page.class);完全有效,为什么我看到的是我所看到的?
这是我的代码
public class SNMPPage {
static Logger log = Logger.getLogger(SNMPPage.class);
WebDriver driver;
public SNMPPage(){
this.driver = new FirefoxDriver();
PageFactory.initElements(driver, SNMPPage.class);
}
}
public class SNMP_Validations {
static Logger log = Logger.getLogger(SNMP_Validations.class);
SNMPPage snmpPage;
@BeforeClass
public void Initialize_Page_Elements() throws Exception{
ExcelUtils.setExcelFile(Constants.excelLocation, "SNMP Page");
snmpPage = new SNMPPage();
}
@Test`public void Verify_If_Enable_SNMP_Checkbox_Is_Selectable(){`
log.info("Verifying if enable checkbox in the SNMP page is selectable");
ExtentTestManager.getTest().log(Status.INFO,"Verifying if enable checkbox in the SNMP page is selectable" );
snmpPage.clickSnmpOptionInMainMenu();
Assert.assertEquals(snmpPage.checkIfEnableCheckboxIsSelectable(), true, "SNMP enable checkbox is not selectable");
log.info("SNMP enable checkbox is selectable");
ExtentTestManager.getTest().log(Status.INFO,"SNMP enable checkbox is selectable" );
}
@Test public void Verify_Error_Message_On_Submitting_System_Info_With_An_Empty_System_Name(){
log.info("Verifying if an error message is displayed when the user submits system info with an empty system name");
ExtentTestManager.getTest().log(Status.INFO,"Verifying if an error message is displayed when the user submits system info with an empty system name" );
snmpPage.clearSystemNameTextBox();
snmpPage.clickSaveButton();
Assert.assertEquals(snmpPage.verifyErrorMessageOnEmptySystemName(), true, "Error message not displayed when the user submits system info with an empty system name");
log.info("Error message displayed when the user submits system info with an empty system name");
ExtentTestManager.getTest().log(Status.INFO,"Error message displayed when the user submits system info with an empty system name" );
}
【问题讨论】:
-
没有代码我们无法帮助您。实际代码,而不是对其的描述。
标签: selenium