Reputation: 132
I find the element with By.id, as the following code:
element = driver.findElement(AppiumBy.id(
"com.test:id/product_detail_nav_host"
));
But none of this lines can find the same element:
element = driver.findElement(AppiumBy.xpath(
"//*[id='com.test:id/product_detail_nav_host']"
));
element = driver.findElement(AppiumBy.xpath(
"//*[@id='com.test:id/product_detail_nav_host']"
));
element = driver.findElement(AppiumBy.xpath(
"//*[resource-id='com.test:id/product_detail_nav_host']"
));
Upvotes: 0
Views: 103
Reputation: 193088
The first xpath is errorprone as you are missing the @
before the keyword id
The third xpath is also errorprone as the value
com.test:id/product_detail_nav_host
is of the id attribute, but not the resource-id attribute.
However, the second code block looks flawless to me and should work perfecto:
element = driver.findElement(AppiumBy.xpath(
"//*[@id='com.test:id/product_detail_nav_host']"
));
Upvotes: 1