Selenium远程控制 - 回答UI级功能测试Web自动化
我想使用 selenium java 从一个步骤拖动到另一个步骤。我在 stackoverflow 上引用了很多帖子,但没有一个与我的案例相关,我认为是这样。 下面是我的 HTML 代码: 我想使用 selenium java 从一个步骤拖动到另一个步骤。我在 stackoverflow 上引用了很多帖子,但没有一个与我的案例相关,我认为是这样。 下面是我的 HTML 代码: <div style="width: 100%; height: auto; font-weight: normal; font-family: Tahoma; font-size: 8pt; font-style: normal; text-decoration: none;" class="QvSliderObject"> <div style="width: 711px; height: 61px;"> <canvas height="61" width="711" style="width: 711px; height: 61px;"> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 21px; top: 11px; width: 8px; height: 14px;">1</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 58px; top: 11px; width: 8px; height: 14px;">2</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 95px; top: 11px; width: 8px; height: 14px;">3</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 132px; top: 11px; width: 8px; height: 14px;">4</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 168px; top: 11px; width: 8px; height: 14px;">5</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 205px; top: 11px; width: 8px; height: 14px;">6</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 242px; top: 11px; width: 8px; height: 14px;">7</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 279px; top: 11px; width: 8px; height: 14px;">8</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 316px; top: 11px; width: 8px; height: 14px;">9</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 350px; top: 11px; width: 14px; height: 14px;">10</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 386px; top: 11px; width: 14px; height: 14px;">11</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 423px; top: 11px; width: 14px; height: 14px;">12</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 460px; top: 11px; width: 14px; height: 14px;">13</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 497px; top: 11px; width: 14px; height: 14px;">14</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 534px; top: 11px; width: 14px; height: 14px;">15</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 571px; top: 11px; width: 14px; height: 14px;">16</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 607px; top: 11px; width: 14px; height: 14px;">17</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 644px; top: 11px; width: 14px; height: 14px;">18</div> <div style="position: absolute; font-size: 8pt; overflow: visible; color: rgb(54, 54, 54); font-family: Tahoma; font-weight: normal; text-align: center; left: 681px; top: 11px; width: 14px; height: 14px;">19</div></canvas> <canvas style="width: 8px; height: 12px; position: absolute; left: 646px; top: 40px; cursor: inherit;" width="8" height="12"></canvas> <canvas style="width: 10px; height: 12px; position: absolute; left: 696px; top: 40px;" width="10" height="12"></canvas> <canvas style="width: 10px; height: 12px; position: absolute; left: 5px; top: 40px;" width="10" height="12"></canvas></div></div> 下面是我的java代码: WebElement sliderLocation = driver.findElement(By.xpath("(//*[@id='64']//following::canvas)[2]")); // Used points class to get x and y coordinates of element. Point classname = sliderLocation.getLocation(); int xcordi = classname.getX(); int ycordi = classname.getY(); int width = sliderLocation.getSize().getWidth(); System.out.println( "Element's Position from left side of window " + xcordi + "and from right side of Window " + ycordi); try { Thread.sleep(3000); Actions move = new Actions(driver); Action action1 = (Action) move.dragAndDropBy(sliderLocation, 60, 0).build(); action1.perform(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } 并尝试了this和this链接上建议的所有可能的解决方案,但仍然没有用。我应该在坐标部分设置什么。默认为 18,距窗口左侧的坐标位置为 1319,距窗口右侧的坐标位置为 252。 我附上了该滚动条的图像。假设我想从 18 拖动到 17 那么我该怎么做呢?请帮我 。我被严重卡住了。 以下代码会将滑块移动到“17”比例: WebElement sliderLocation = driver.findElement(By.xpath("(//*[@id='64']//following::canvas)[2]")); WebElement elem17 = driver.findElement(By.xpath("//*[@id='64']/div[2]/div[1]/div/div[17]")); Actions action = new Actions(driver); action.clickAndHold(sliderLocation).moveToElement(elem17).release(sliderLocation).build().perform(); 我假设 sliderLocation 指的是这个元素 this works like charm public void slideOnSliderByCertainAmount(WebElement seekBar, int noOfTimesToSlide, String direction) { scrollToElementUsingJavaScript(seekBar); Actions action = new Actions(webdriver); action.click(seekBar).build().perform(); waitForSpecificTime(); for (int i = 0; i < noOfTimesToSlide; i++) { if(direction.contains("LEFT")) { action.sendKeys(Keys.ARROW_LEFT).build().perform(); } else { if(direction.contains("RIGHT")) { action.sendKeys(Keys.ARROW_RIGHT).build().perform(); } } waitForSpecificTime(); } }
如何在Robot Framework和Selenium中检查文本是否在网页中
我目前正在为网站创建自动化测试,我想检查页面中是否有文本。我可以使用关键字“页面应该包含”来检查;不过,我想要多一点
在 Selenium 中以 inconginto 模式运行 chrome 浏览器
我想通过selenium以incongito模式运行chrome。 我用谷歌搜索了足够多的内容,并找到了如何借助以下链接直接在 incongito 模式下运行 chrome: 右键单击...的快捷方式
这两条线是独立工作的。如果我评论一个并运行它就可以了。但它并不能协同工作。 line1:driver.findElement(By.id("MemberNo")).sendKeys("1"); 第2行:...
当说明 selenium 应该单击的元素的 XPath 时,我可以/应该说明完整路径。目前,错误在这里抛出: IWebElement gridElement = driver.FindElement(By.XPath(&
如何在 C# Selenium 中捕获异常并写入文本文件以进行错误报告?
**我正在使用 C# 开发一个 Selenium 项目,并希望实现一个强大的错误处理机制。具体来说,我想捕获测试执行期间发生的异常并编写这些
我已将应用程序从 selenium 3 升级到 selenium 4,发现升级后一些测试用例失败并显示以下错误消息。 com.thoughtworks.selenium.SeleniumExce...
TestNG是否保证@BeforeSuite方法在@BeforeTest方法之前执行?
背景:我的目标是编写一个运行自包含的TestNG-Selenium系统(没有Maven或Ant插件的字符串;只有Java)。它必须允许测试用例接受参数,包括...
是否可以同时运行多个硒浏览器实例,并且每个实例都可以使用它们,从而提高速度?我可以像这样运行:ISelenium selenium = new DefaultSelenium(“ ...
我有一些Selenium RC测试(用PHP编写)在用户需要输入其物理地址的沙盒中测试应用程序。地址必须是真实的,否则应用程序将显示...
如何为Selenium Grid Java Maven设置启动服务器
我使用Maven Java设置了Selenium框架。因此所有依赖项都存储在POM.xml中。在这里,我感到怀疑..如何启动服务器java -jar selenium-server-standalone-2.18.0.jar -role hub ..我应该...
我需要点击以下href元素,该元素位于相似的href元素中。 Re-Call 任何人都可以...
firefox:如果选项卡不活动/窗口最小化,则闪光灯不会加载
我遇到了一个与该主题中所述内容有关的问题。我目前正在使用selenium自动化一个网站的测试,该网站具有供用户输入的Flash元素。虽然一切...
Selenium Web driver xpath,范围定位符
Selenium Webdriver。从以下代码中查找新文章。请注意,这是在iframe下。 ...
我正在使用硒RC,例如,我想获取所有具有属性href且与以下内容匹配的链接元素:http:// [^ /] * \ d + com我想使用:sel.get_attribute ('// a [regx:match(@href,“ ...
我有几个测试规格,但它受阻。其中之一:it('添加按钮应该存在',async()=> {var add = $('[test-id =“ add”]'); browser.wait(EC.presenceOf(add),10372) ; Expect(...
我如何使用硒c#在input-select(React.js字段)中设置值?
人民。我没有使用硒c#获得输入选择值(React.js字段)。该字段获取服务的价值。 Obs:我可以尝试使用SendKeys命令填充字段,但是我不正确。这是HTML ...
在我们的QA团队中,我们对开发人员的每次提交运行一套自动化测试。 由于每天都有很多此类提交,并且开发人员不想等待超过几分钟才能获得反馈,因此我们仅限于 分钟的...
我正在使用硒视频节点api来记录远程计算机的屏幕,但是当我运行服务器或集线器时,它运行得很好,但是当我启动节点或客户端时却给出了错误。集线器运行java -cp selenium-video -...
我是一个初学者到Python和我的首要任务是落实使用PHP和Python我的应用程序的构建自动化测试脚本。为此,我开始使用Selenium IDE,然后在Python导入代码和...