我不熟悉Selenium,也不熟悉Java。我是一名测试人员,而不是开发人员,所以我正试图逐渐将我的Selenium IDE脚本转换成更健壮和“合适”的东西。不幸的是,我正在努力完成一项相当基本的任务。网页加载后,我想单击一个按钮。这在Selenium IDE中运行良好,但前提是我将速度设置为“slow”。
我可以使用下面的代码让它工作,但前提是我包含了线程。睡眠线。我已经读到这不是一个好主意,所以我正在尝试使用webDriverWait实现一些更智能的东西。
public class mytestclass {
private WebDriver driver;
private String baseUrl;
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "";
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
}
@Test
public void test1() throws Exception {
driver.get(baseUrl + "file:///C:/_VM/testpage.html");
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(By.id("button_X")));
//Thread.sleep(2000);
driver.findElement(By.id("button_X")).click();
}
}
因此,当执行线程时,这是有效的。睡眠线让我相信等待。直到当按钮未实际就绪时,行返回true。我还尝试将预期条件切换到其他标识符,如visibilityOfElementLocated(按定位器)和presenceOfElementLocated(按定位器),但它们的作用方式也是一样的。
我是不是做错了什么?还有什么我可以试试的吗?
我恐怕无法链接到该网站,因为它与工作有关。它确实在启动时读取了大量图像并运行了大量javascript,因此需要一些时间才能开始,但这就是为什么我想在中添加等待逻辑!
谢谢你的任何建议。
您的网站启动是否涉及jQuery?如果有,你可以试试这个。我发现它在我的测试中很有帮助。它在C#中,但我相信你可以将它转换为java。
等待jQuery准备就绪:
IWait<IWebDriver> wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(WAITFORELEMENT_TIMEOUT));
wait.Until(d => (bool)(d as IJavaScriptExecutor).ExecuteScript("return jQuery.active == 0"));
我刚刚在RHEL 8上安装了Kibana7.3。Kibana服务处于活动状态(正在运行)。 当我卷曲到http://localhost:5601时,我收到了消息。我的Elasticsearch实例在另一台服务器上,它正在成功响应我的请求。我已经用它更新了kibana.yml elasticsearch.hosts:["超文本传输协议://EXTERNAL-IP-ADDRESS-OF-ES: 920
今天面了高顿教育测开,因为之前一直学的是java后端开发背的面经也是后端八股文,然后今天是第一次面试,自我介绍没准备好,开始就说的结结巴巴的,后续问的几个问题全是测试用例,黑白盒测试,还有一个字符反转,一个接口测试,一个功能测试,一个等价划分用例,一个什么保温杯测试用例,我回答的乱七八糟的,回答到一半的时候就已经感觉到面试官已经不耐烦了,我都不想继续下去了他一直在问,我一瞬间真的想紫砂啊,我真该死
问题内容: 我注意到人们建议不要混合使用Swing和AWT ,但是我们看到了很多: 因此,为什么许多包括Java的人(因为我在这里从他们的教程中得到了答案)仍然使用AWT导入,尽管我看到它主要用于s。 你如何添加 本地 的Swing S /图书馆像的东西,,冲床/ slections等? 还是我会用?(尽管与Java Bean有关) 现在已经让我困惑了一段时间,我的大多数应用程序都具有Swing和
我有一个简单的功能,我想测试,但明显的结果是没有发生。。。 我的函数是如何工作的(实际上它确实工作,只是没有正确测试) 我将字符串传递到函数中 当我运行所示的测试时,我收到错误: 预期默认值等于hare失败 我的组件 我的测试
问题内容: 我有一个ListView子类,当上下文操作栏(CAB)处于活动状态时,我可以对其进行选择。CAB设置为事件的回调: 很好,并且ListView可以按预期工作,当前选中的项目在触摸时保持突出显示。 当我关闭CAB时, 我希望ListView返回正常状态(即Touch模式) 。问题是,无论我尝试清除哪种方法,最后选择的项目都会无限期突出显示: 有什么建议? 问题答案: 出现此问题的主要原因
我是一个对使用python相当陌生的爱好者。自从我安装 Pygame 以来已经一周了,经过多次尝试,当我运行任何程序时,我仍然无法启动或打开 Pygame 窗口。我已经看了尽可能多的教程,并阅读了我能找到的关于类似问题的所有文章。我已经复制了在其他网站上找到的所有解决方案,但问题仍然存在。然而,更奇怪的是,我正在使用的IDE(Pycharm)很少输出错误消息,而是简单地继续运行,但从未启动Pyga