我正在为PageFactory
一个使用 maven+TestNG 的网站编写一个框架,我有页面PageObject
类,其中存在所有特定于页面的 Web 元素和操作,例如LoginPageObject
,AccountSelectionPageObject
......
我有一个类“Base”,其中常见元素如 WebDriver、Logger 是展示。我有一个“BasePage”类,其中存在单击、滚动、选择、刷新等常见操作
<class>
MyTestng.xml对所有单独的页面都有单独的条目。只是我正在初始化浏览器对象并将@BeforeSuiit
其存储/放置在正在我的测试类中扩展的基类中下面是我为我的项目提出的流程/架构。 问题:
我的每个测试类中都有多个@Test。当我的测试类单独执行时,所有@Test 脚本都会执行,但是当我连续执行它们时,即我的testng 文件对我的所有测试类都有单独的条目,我的执行失败。错误说无法在页面上找到元素,我有等待语句,但仍然无法正常工作。
我试过调试代码,但无法找到原因,因为流程在第二页开始时停止,并显示找不到元素的异常
代码:
@FindBy(id="listAccounts")
WebElement accountDropdown;
public void selectAccount(){
logger.info("Selecting Account");
implicitwait(10);
Select dropdown = new Select(accountDropdown);
logger.info("Drop down is multiple::"+ dropdown.isMultiple());
}
预期:
即使代码页分开,代码也应该完全执行。
实际:
当我将所有页面代码都放在一个测试类中时,代码就会执行。但是当我将它们分别放在页面测试类中时,会抛出元素未找到异常。
org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"id","selector":"listAccounts"}
慕哥6287543
梵蒂冈之花
相关分类