问题标签 [fluentlenium]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
653 浏览

selenium-webdriver - 如何等待 FluentWebElement?

我的页面对象如下:

现在我想用一些等待的预期条件从测试用例中调用上面的 FluentWebElement getEnrichmentOptions() 吗?

请就上述情况提供帮助。提前致谢。

0 投票
2 回答
849 浏览

selenium - Testng 报告断言并继续测试

我正在尝试使用 fluentlenium 进行测试,并将其报告为范围报告。

问题是我在整个测试中都有断言,并且想要在不使用 try 和 catch 的情况下报告它们。

任何想法如何做到这一点?是否有断言侦听器或其他东西?

0 投票
2 回答
572 浏览

report - Testng assertj 报告并继续

我正在使用 AssertJ 来测试 web,使用 fluentlenium 和范围报告来报告结果。

我在问题之前问过,但忘了提到 AssertJ 的使用。

提供的答案是扩展软断言并且它具有onAssertFailure功能。

AssertJ 软断言有类似的东西吗?还是有其他解决方案可以绕过它?

0 投票
1 回答
255 浏览

java - Play 2.5 和 Fluentlenium:如何关闭 HtmlUnit 警告

我正在尝试使用WithBrowserPlayFramework 2.5 类编写 Selenium 测试。

像这样的东西:

但是,我希望能够为至少 CSS 错误设置自定义错误处理程序,因为它们会向我的控制台发送垃圾邮件。而且由于它们来自boostrap,我无法摆脱它们。

我尝试像这样设置记录器的日志级别:

Fluentlenium 文档告诉我重写该getDefaultDriver方法,但这似乎不适用于这里。而且我无法直接使用 WebClient,因为该字段没有吸气剂。

0 投票
3 回答
153 浏览

java - Selenium IDE 定位器在 Selenium 3.3.1 Java 中不起作用

我有一个网页,其中包含 2 个具有相同类名但具有不同 div 类的链接。第一个是不可见的(它在下拉菜单中),而我想要的另一个是可见的。所以,我试图找到可见元素。

他的 HTML :

该链接具有动态 ID。当我使用 ID 进行 XPath 搜索时,我正确地找到了该元素,但它已被弃用,因为该按钮在每个页面上的 ID 不同。

我尝试使用 Selenium IDE 定位元素,以下定位器有效:css=div.mainActionPanel > a.create

问题出在我上面展示的定位器上。当我试图找到元素时,我总是有这个例外:

NoSuchElementException : Element By.cssSelector: css=div.mainActionPanel > a.create (first) (LazyElement) 不存在。

他没有找到。我尝试了几种语法,例如 FluentLenium 文档 ( $("form > input[data-custom=selenium]") 中的示例,但没有奏效。

此外,el(".create").click()由于他选择了下拉链接,因此引发了 ElementNotVisibleException。

我怎样才能找到合适的元素?

0 投票
4 回答
13640 浏览

java - Chrome 59 和使用 Selenium/Fluentlenium 的基本身份验证

Chrome 59 已移除对 https://user:password@example.com URL 的支持

我有一个使用此功能的测试,该功能现已损坏,因此我尝试将其替换为等待身份验证弹出窗口并填写详细信息的版本。但是以下内容在 Chrome 上不起作用(它不会将身份验证弹出窗口视为警报):

仅硒版本有同样的问题:

(基于此处给出的答案:How to handle authentication popup with Selenium WebDriver using Java

我可以看到在 FireFox 中处理此问题的几种解决方法,但对于 Chrome 则没有。有没有替代方法?

0 投票
1 回答
537 浏览

java - Java Selenium - 无法使用一种方法启动多个 WebDriver

我一直在尝试最长时间,但我无法让它工作。我想做的是以 Fluentlenium 为基础进行负载测试。当我尝试启动我的测试时,它只打开一个 chrome 浏览器,在我的 IDE 中,相同的方法运行 3 次(例如)有时测试通过,有时它失败。它假设在不同的端口(由 selenium 生成)下启动 3 个 chrome 浏览器,但它没有,它只启动 1 个浏览器。

这是我失败的代码:

这是提供失败的堆栈跟踪

我有另一种工作正常的方法,但我必须通过 newWebDriver 方法才能工作......

这是它通过 3 个浏览器打开的控制台日志,但我不能使用 Fluentlenium 语法。

唯一的问题是,我不能使用内置的 Fluentlenium 语法(例如:GoTo、GetCookies、Await 等)。我必须使用 Selenium 语法。

有什么方法可以让它与 Fluentlenium 一起工作吗?

0 投票
2 回答
543 浏览

java - Fluentlenium 和黄瓜测试未开始

我有一个运行 CucumberRunner 时无法启动的黄瓜和 fluentlenium 项目。它只是跳过了所有测试。我试图在互联网上找到解决方案,但到目前为止还没有弄清楚问题所在。一点帮助会很好。

这是我的步骤:

这是我的 BaseTest.class :

这是我的功能文件:

这是亚军:

0 投票
1 回答
65 浏览

java - 切换帐户时的 Selenium 身份验证

首先,我想为我的英语道歉,我会尽力做到尽可能清楚。

我在 Java 中遇到了 Selenium 的问题。事实上,我使用了一个门户,我需要登录才能浏览它。每次打开此门户时,我都必须连接,会出现一个弹出窗口。我必须使用特定的帐户来执行特定的操作,然后我必须断开与该帐户的连接并重新连接另一个帐户来管理一些事情。当我使用机器人单击“断开连接”按钮时,我可以使用“Enter”键关闭出现的弹出窗口。然后,我被封锁了。窗口消失了,好的,但程序崩溃并告诉我这个错误:“Modal dialog present: Demande de Confirm - Confirmez-vous la fermeture du porttail ?” 在这一步之后,我什至无法再次打开门户。我也有一个连接问题,实际上浏览器会提醒我的用户名和密码,但我需要更改帐户。所以我想到了擦除cookies。我有点失落。

我的代码是:

我的功能“fermerFrame”允许关闭我在网站上连接时出现的弹出窗口,它可以工作。

恢复:

  • 我的程序打开了门户,其中显示了一个弹出窗口以进行连接。
  • 连接后,我必须在网站上做一些事情(我不为测试做的事情)
  • 我点击断开连接按钮,这个弹窗出现断开连接弹窗
  • 我创建了一个机器人按 Enter 按钮关闭此弹出窗口,因此关闭整个浏览器。在这里我有这个错误错误消息(它是焦点问题吗?)
  • 我想再次打开门户并连接另一个登录名

我试图捕捉这个错误消息,但我不明白为什么它仍然崩溃,并且它没有进入捕捉..

先感谢您。

0 投票
1 回答
268 浏览

selenium - Fluentlenium untilPage isAt 功能

我的目标

我的直觉是 Fluentlenium untilPage(myPage).isAt()用于根据匹配的 URL 断言我是否已到达页面。尽管无论页面是否到达我的页面,它似乎都会返回 true。我想我只是误解了这个功能的目的。

来自流利的文档:

“如果你想等到你想要的页面是你所在的页面,你可以使用”

我的设置:

此代码在完成后不会抛出任何异常。这个功能的用途是什么?它是否只是在等待 document.readyState,即使 isLoaded() 已经提供了此功能?

版本:
Fluentlenium/Selenium 3.0.0
Junit 4.12

PS:我知道这可以使用Selenium。我只是在询问这个特定功能的目的是什么。