问题标签 [selenide]
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.
css - Selenium 测试中的多个选择器
我想测试一个具有响应式布局的页面。某些元素(如菜单)会因分辨率而异。
我怎样才能将它们定位为使用相同的测试类运行?
我在考虑How.CSS, using = "a.normal-link, a#responsive-link"
这是一个好主意吗?有没有更好的方法?
是否可以为特定场合“注入”某种变通方法逻辑?(例如:如果正常的登录按钮不可见,请尝试打开响应式菜单,然后单击另一个(响应式)登录链接)路线。
谢谢
selenium - 条件等待与隐式等待 -Selenium
请帮助我理解以下问题。请。
我必须获取所有链接并稍后检查它们。我使用了以下代码:
当我在 Linux 上使用这些 api 版本时: Maven 3.1 Selenide v3.5 Selenium v2.53 Firefox v45.0.1 然后代码无法花费足够的时间来捕获页面中的链接。然后我必须在获取链接之前添加驱动程序等待。我添加以下内容(这是有条件的等待):
它运行良好,我运行了不止一次。
昨天运行它时我很惊讶,它没有工作并且无法获得足够的时间来获取链接!
因此,我将条件等待替换为隐式等待,并添加以下内容:
现在它工作正常。
发生了什么?
这是什么东西让它有时工作有时不能工作?
如何在保持代码正常运行的情况下返回条件等待?
那么如何恢复这个问题呢?并防止将来发生此问题。
java - 远程硒网格无法从扫描仪接收字符串,但本地可以
我的问题是什么。当我删除配置字符串时,我在本地环境中收到了很好的测试。但是该字符串在这里,测试永远不会运行,并打印:
java.lang.ClassCastException:java.lang.String 无法转换为 java.util.Map
需要完整的堆栈跟踪?
问题是 - 我做错了什么?如何解决这个问题?我需要运行远程测试,从文件中逐个字符串检查链接,而不是在我的本地环境中。
本地操作系统 Linux Mint 17、Selenide 3.4、Selenium 2.53.0,从 Idea、Remote VM Win7 运行,带有 Selenium 独立服务器集线器和一个节点。驱动标准火狐。
如果我在配置中设置远程服务器,则“打开”命令失败。
java.lang.ClassCastException:java.lang.String 无法转换为 java.util.Map
在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:251) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver .java:158) 在 com.codeborne.selenide.webdriver.WebDriverFactory.createRemoteDriver(WebDriverFactory.java:61) 在 com.codeborne.selenide.webdriver.WebDriverFactory.createWebDriver(WebDriverFactory.java:36) 在 com.codeborne.selenide。 impl.WebDriverThreadLocalContainer.createDriver(WebDriverThreadLocalContainer.java:213) at com.codeborne.selenide.impl.WebDriverThreadLocalContainer.getAndCheckWebDriver(WebDriverThreadLocalContainer.java:113) at com.codeborne.selenide.WebDriverRunner.getAndCheckWebDriver(WebDriverRunner.java:118) at com .codeborne.selenide.impl.Navigator。navigateToAbsoluteUrl(Navigator.java:44) at com.codeborne.selenide.impl.Navigator.open(Navigator.java:23) at com.codeborne.selenide.Selenide.open(Selenide.java:51) at SmallOrder.smallOrderTest(SmallOrder .java:44) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java. lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:86) at org.testng.internal.Invoker.invokeMethod(Invoker.java:643) at org .testng.internal.Invoker.invokeTestMethod(Invoker.java:820) 在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1128) 在 org.testng。internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) at org.testng.TestRunner.privateRun(TestRunner.java:782) at org.testng.TestRunner .run(TestRunner.java:632) at org.testng.SuiteRunner.runTest(SuiteRunner.java:366) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361) at org.testng.SuiteRunner.privateRun(SuiteRunner. java:319) at org.testng.SuiteRunner.run(SuiteRunner.java:268) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244) 在 org.testng.TestNG.runSuitesLocally(TestNG.java:1169) 在 org.testng.TestNG.run(TestNG.java:1064) 在 org.testng.IDEARemoteTestNG .在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 的 org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:121) 运行(IDEARemoteTestNG.java:74)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 com.intellij.rt.execution.application.AppMain.main(AppMain.java :144)com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 上的 reflect.Method.invoke(Method.java:498)com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 上的 reflect.Method.invoke(Method.java:498)
css - $("css selector") 和 $(By.linkText("text")) 的区别?
我需要定位一个元素,我使用了以下两种方式:
但我对这种方式有问题,因为一些 CSS 样式会不时改变。所以我切换到以下内容:
由于登录文本总是会出现,即使在 css 样式中发生变化。
问题:使用第二种方法时,一些测试失败了,尽管它必须做与第一种方法相同的工作。所有测试都使用第一种方式运行良好。
它们之间有什么区别?
毫升
java - maven 找不到符号符号:类 ProxyServer-browsermob
我正在使用以下示例添加带有 Selenide 和 Selenium的代理browsermob 。我使用了这个链接。
我用 Eclipse 运行它并成功运行它。但是当我用Maven尝试它时。我有以下错误:
位置:包 net.lightbody.bmp.proxymaven 找不到符号符号:类 ProxyServer
我的 Pom.xml:
javascript - Javascript 不适用于 Selenide 和 PhantomJS
我正在使用 PhantomJS 和 Selenide 来自动化网页浏览活动的 IntelliJ 项目。为了运行 Javascript 命令,我们在 Java 代码中使用了 executeJavascript() 方法。我们在代码中多次调用此方法来执行我们想要的 Javascript 命令。
对于这种特殊情况,我们正在制作一个程序,该程序应自动将我们登录到Footlocker。
程序代码:
当我们运行程序时,executeJavascript() 命令实际上并没有被执行,但是当我们在 IntelliJ 表达式执行器(在调试器中)中一个一个地运行每个命令时,它们就起作用了。
有人知道这里发生了什么吗?
java - Selenium:帮助验证元素是否按价格排序
基本上,我了解它是如何工作的,但我无法将它们组合在一起。所以我有cssSelector
所有排序的元素。
我知道这些元素的确切数量(12)。我findElements()
用来找到它们,它返回列表。但是List
呢?- int
, String
?
Selector
导致正确的数字价格,但不明白我应该如何以及在哪里使用该 List ?如何将其放入循环中以检查元素是否已排序?
我使用Selenide
,但如果你向我提供提示\指南如何做到这Selenium
一点就可以了。
谢谢!
eclipse - 如何在eclipse中生成诱惑测试报告
我使用“selenide”、“testng”、“maven”、“eclipse”创建了一些自动化脚本。我试图添加诱惑测试结果。我按照 allure-testng-maven 的说明更新了 pom.xml。
对于从 Eclipse 运行测试,我正在对 pom.xml +“运行方式”+“Maven 测试”进行右键单击。这是在“./target/allure-results”文件夹中执行所有 testng 测试并生成 allure xml 文件。
我的疑问是如何查看 eclipse 的魅力报告。
下面是我的 pom.xml 文件。
任何帮助表示赞赏。谢谢!
java - 使用 Selenium 3.0.0 运行 Selenide?
我的 Firefox 现在是 v 48。这似乎不适用于旧版本的 Selenium。出于这个原因,我不得不将(Gradle)Selenium 依赖项更改为
然后从以下位置获取geckodriver.exe
并更改我的 Selenium 测试:
至
(顺便说一句,我不知道这些 Gecko、Marionette 和 Capabilties 的内容是关于什么的……但上述方法对 Selenium 有效)
但是在清理了依赖缓存之后,改为使用最新版本的 Selenide 3.9.1,后者然后将 Selenium 2.53 放入缓存中,代码如下:
...导致此错误:
原因:org.openqa.selenium.firefox.NotConnectedException:45000 毫秒后无法连接到端口 7055 上的主机 127.0.0.1。Firefox 控制台输出:-app-global","version":"1.0","type":"extension","internalName":null, ...
...也就是说,似乎是因为 Selenium 2.53 无法处理我的 FF 版本。
我也尝试使用 Selenium 3.0.0。与硒化物 3.9.1。这也不起作用,这并不奇怪,因为大概在 Selenide 代码的某个地方它使用了以下行:
有什么建议么?我不想使用旧版本的 FF ......那种技术总是不能令人满意......我想我可能会尝试摆弄相关的 Selenide java 文件并重新编译......但是比我聪明的人在做什么?
material-ui - Selenide 测试无法与 Material 的复选框交互
亲爱的stackoverflowers。
我们在项目中使用 Selenide 框架为 UI 编写自动化测试。我们最近切换到 Material-UI,在简单的复选框方面遇到了技术问题。我正在尝试选择复选框。
但是在这样做的同时,我得到了一个例外:
事实上,当我检查它包含的真实 DOM 时opacity: 0
:
当我强制设置不透明度时,我的自动化测试运行良好。如何处理?