Appium xpath 转义撇号
Appium xpath escaping apostrophes
我的 appium 脚本中有以下代码:
public boolean isErrorDisplayedUnrecognisedLoginCredentials() {
return appDriver.isElementExist(By.xpath("//UIAStaticText[@name='We don't recognize this user ID or password']"));
}
测试挂起,因为它将 "don't" 中的撇号视为结束 @name 值的最后一个撇号。我尝试使用 \', \', '
转义 "don't" 中的撇号
但是,其中 none 个正在运行并且测试一直失败。有人知道如何解决这个问题吗?
AFAIK,你不能在 xpath 中转义引号,但你可以在 Java 中转义引号。因此,尝试对 xpath 文字字符串定界符使用转义双引号,例如:
By.xpath("//UIAStaticText[@name=\"We don't recognize this user ID or password\"]")
使用 XPath 1.0(它应该适用于 XPath 2.0):
By.xpath("//UIAStaticText[@name='We don't recognize this user ID or password']")
对于 XPath 2.0,我们有两个解决方案:
- 通过将单引号加倍,您将能够转义撇号:
By.xpath("//UIAStaticText[@name='We don''t recognize this user ID or password']")
推荐方案:
- 要定义 Xpath,我会使用双引号 (") 而不是撇号:
By.xpath("//UIAStaticText[@name="We don't recognize this user ID or password"]")
我的 appium 脚本中有以下代码:
public boolean isErrorDisplayedUnrecognisedLoginCredentials() {
return appDriver.isElementExist(By.xpath("//UIAStaticText[@name='We don't recognize this user ID or password']"));
}
测试挂起,因为它将 "don't" 中的撇号视为结束 @name 值的最后一个撇号。我尝试使用 \', \', '
转义 "don't" 中的撇号但是,其中 none 个正在运行并且测试一直失败。有人知道如何解决这个问题吗?
AFAIK,你不能在 xpath 中转义引号,但你可以在 Java 中转义引号。因此,尝试对 xpath 文字字符串定界符使用转义双引号,例如:
By.xpath("//UIAStaticText[@name=\"We don't recognize this user ID or password\"]")
使用 XPath 1.0(它应该适用于 XPath 2.0):
By.xpath("//UIAStaticText[@name='We don't recognize this user ID or password']")
对于 XPath 2.0,我们有两个解决方案:
- 通过将单引号加倍,您将能够转义撇号:
By.xpath("//UIAStaticText[@name='We don''t recognize this user ID or password']")
推荐方案:
- 要定义 Xpath,我会使用双引号 (") 而不是撇号:
By.xpath("//UIAStaticText[@name="We don't recognize this user ID or password"]")