ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – 如何检查selenium选择器是否成功?

2019-07-06 15:01:24  阅读:262  来源: 互联网

标签:java selenium ui-automation mobile-devices appium


我目前正在使用Appium为网站开发自动UI测试.
我在testobject上使用许多设备运行我的测试,并且我试图解决一些问题.

我的示例代码是这样的:

WebElement lexiconCollapsible = mDriver.findElement(By.xpath("//*[@id='1014']/a"));
assertNotNull(lexiconCollapsible);
ScrollHelper.scrollToElement(mDriver,lexiconCollapsible);
Thread.sleep(1000);
lexiconCollapsible.click();

这适用于许多设备,但不适用于所有设备.
在一些我得到以下错误代码:

org.openqa.selenium.InvalidSelectorException: Argument was an invalid selector (e.g. XPath/CSS). (WARNING: The server did not provide any stacktrace information)

在我想要单击元素的位置抛出异常,因此该对象不为null.

所以我的问题是:
有没有人找到一个解决方案来检查设备是否能够找到对象?是否有像isObjectFound方法这样的东西?

我也试过css选择器,id等,但结果是一样的.

解决方法:

来自Selenium Docs,

exception selenium.common.exceptions.InvalidSelectorException(msg=None, screen=None, stacktrace=None)[source]
Thrown when the selector which is used to find an element does not return a WebElement. Currently this only happens when the selector is an xpath expression and it is either syntactically invalid (i.e. it is not a xpath expression) or the expression does not select WebElements (e.g. “count(//input)”).

所以看起来你的Selector是不正确的,因为它只发生在XPATH,你应该尝试css选择器.

尝试,

WebElement lexiconCollapsible = mDriver.findElement(By.cssSelector("#1014 a")).click();

关于你的isObjectFound方法,当你执行findElement时,它看起来像是找到了WebElement,你只是在click()上得到一个例外.我建议您切换到CSS选择器以避免此异常.

标签:java,selenium,ui-automation,mobile-devices,appium
来源: https://codeday.me/bug/20190706/1398288.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有