selenium - Selenium webdriver Java:页面对象模型:在 chrome 浏览器中找不到 web 元素
问题描述
我正在尝试使用页面对象模型执行一个简单的 testng 程序。我能够启动 chrome 浏览器。但在页面上找不到任何网页元素。它正在打印,之后没有做任何事情。下面是输出。Chrome 版本是 79.0XX。请注意,简单的 java 文件(没有页面对象模型)在我的系统中运行良好。
主页类:
public class HomePage {
WebDriver driver;
By homePageUserName = By.xpath("/html/body/header/div[1]/span[2]/a[1]");
public HomePage(WebDriver driver){
this.driver = driver;
}
public String getHomePageDashboardUserName(){
System.out.println("foundd");
return driver.findElement(homePageUserName).getText();
}
}
测试页类:
import pages.HomePage;
public class TestPage {
WebDriver driver;
HomePage objHomePage;
@Parameters("browser")
@BeforeTest
public void beforeTest(String browser){
if(browser.equalsIgnoreCase("chrome"))
{
System.setProperty("webdriver.chrome.driver", "C:\\jars\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("MY URL here");
driver.manage().window().maximize();
}
}
@Test(priority=0)
public void test_Home_Page_Appear_Correct(){
objHomePage = new HomePage(driver);
String PageTitle = objHomePage.getHomePageDashboardUserName();
if(PageTitle!=null)
{
Assert.assertTrue(PageTitle.toLowerCase().contains("us"));
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test name="ChromeTest" parallel="none">
<parameter name="browser" value="chrome" />
<classes>
<class name="tests.TestPage">
</class>
</classes>
</test>
</suite>
解决方案
推荐阅读
- hive - 数据未从 csv 文件正确加载到配置单元表
- javascript - TypeError: logging.log 不是一个函数 JavaScript Google Cloud Fuction
- c - 可以优化这种易失性访问吗?
- python - 如何对 Dash Plotly 中的各种图表执行向下钻取操作?
- python - 如何在Python中使用正则表达式获取两个特定字符之间的第一个整数?
- git - 带有 PAT(个人访问令牌)的 Git 推送
- python - 想要找到具有余弦相似度值的度数
- apache-spark - Spark:spark 数据帧上的 agg 函数和窗口函数之间有区别吗?
- concatenation - 如何在画面中合并重复的行
- python - 如何在同一个类中调用另一个方法中的方法