gpt4 book ai didi

java - 即使两个字符串完全相同,使用 xpath 的 selenium 中的字符串比较也会失败

转载 作者:太空宇宙 更新时间:2023-11-04 08:47:27 24 4
gpt4 key购买 nike

我正在使用关键字驱动和数据驱动的框架。预期字符串来自 excel 表,实际字符串来自网页即使两个变量打印完全相同的字符串,测试脚本仍然失败。对于像“Resign”这样没有空格的字符串,它会“通过”,但对于像“Property Search”这样有空格的字符串,它会“失败”下面是在失败之后打印 PASS 直到“Resign”的结果忽略用于调试的数字。我还在结果中包含了 xpath。

生成结果
通过.xpath: html/body/div[2]/div/div[2]/ul/li[1]/ul/li[1]
存在工具提示文本:- Revals
反击
1个By.xpath: html/body/div[2]/div/div[2]/ul/li[1]/ul/li[2]/a[contains(text(),'Managed Client Accounts')]< br/>存在工具提示文本:- 托管客户帐户
托管客户帐户
1
通过.xpath: html/body/div[2]/div/div[2]/ul/li[1]/ul/li[3]
存在工具提示文本:- 辞职
辞职
1
通过.xpath: .//[@id='dashboard-dropdown']/li[4]/a
工具提示文本:- 出色的 AR
出色的 AR
4
通过.xpath: .//
[@id='menuCreateDashboard']
存在工具提示文本:- 管理仪表板
管理仪表板
4
通过.xpath: html/body/div[2]/div/div[2]/ul/li[2]/a
存在工具提示文本:- 属性搜索
属性(property)搜索
4
通过.xpath: html/body/div[2]/div/div[2]/ul/li[3]/a
存在工具提示文本:- 税务资源数据库
税务资源数据库
4
通过.xpath: html/body/div[2]/div/div[2]/ul/li[4]/a[contains(text(),'Quick Links')]
存在工具提示文本:- 快速链接
快速链接
4
这是代码:

public String verify_Text(String locatorType, String value, String data){
try
{
By locator;
locator = locatorValue(locatorType, value);
System.out.println(locator);
WebElement element = driver.findElement(locator);


//WebElement element = driver.findElement(By.cssSelector("#header>h1 a"));
// Get tooltip text
String toolTipText = element.getText();
System.out.println("Tool tip text present :- " + toolTipText);
System.out.println(data);

// Compare toll tip text

if(toolTipText.contentEquals(data))
{
System.out.println("1");
return PASS;

}



}
catch(Exception e)
{
LOG.error(Executor.currentSheet + ":" + e);
getScreenshot("verify_Link", data);
System.out.println("3");
return FAIL;
}
getScreenshot("verify_Link", data);
System.out.println("4");
return FAIL;

最佳答案

对我有用的代码行

if(toolTipText.replaceAll("\\s+","").equalsIgnoreCase(data.trim().replaceAll("\\s+","")))

我在使用这段代码和调试后意识到从 excel 表传递的数据在两个字母之间有空格,而 webelement 工具提示上没有空格。但是我无法使用 inspect element 弄清楚它,因为它不可见.在使用 replaceall("\s+","")

之前

通过.xpath: html/body/div[2]/div/div[2]/ul/li[1]/ul/li[5]/a存在工具提示文本:- ManageDashboard管理仪表板

在使用 replaceAll("\s+","") 并从来自 excel 工作表的数据中删除空间之后

通过.xpath: html/body/div[2]/div/div[2]/ul/li[1]/ul/li[5]/a存在工具提示文本:- ManageDashboard管理仪表板

关于java - 即使两个字符串完全相同,使用 xpath 的 selenium 中的字符串比较也会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43683260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com