Tag: selenium webdriver

Java Selenium WebDriver无法找到表单字段

我正在测试一个注册页面,我尝试了名称,xpath,id,类,似乎没有任何工作。 这是我的selenium代码 driver.findElement(By.id(“pushMenu”)).click(); Thread.sleep(2000); driver.findElement(By.linkText(“Register”)).click(); Thread.sleep(2000); WebElement l = driver.findElement(By.name(“name”)); 这是我正在尝试访问的表单标记 显式等待尝试代码: WebDriverWait wait = new WebDriverWait(driver, 10); WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.name(“name”))); driver.findElement(By.name(“name”)).sendKeys(“Testing100”);

Selenium 2 WebDriver UnhandledAlertException Java

在我开始受到责骂之前,我已经阅读了大部分关于此问题的现有问题,并应用了不同的解决方案(大多数重复同样的事情),但它仍然不适用于我。 我有一个包含所有必要依赖项的maven项目,测试中的网站专门针对IE进行,并要求我拥有特定的证书才能访问它。 我有它的证书,当我进入网站时,在加载页面之前它要求我确认我有证书,我需要在弹出窗口确认,然后登录页面完全加载。 我做过典型的做法: WebDriverWait wait = new WebDriverWait(driver, 3); try { // Handle alert box driver.navigate().to(“https://ke.m-pesa.com/ke/”); wait.until(ExpectedConditions.alertIsPresent()); Alert alert = driver.switchTo().alert(); alert.accept(); } catch(Exception e) { //whatever } 你能告诉我哪里出错了吗? 到目前为止,到目前为止我只使用了Selenium RC,所以这个webdriver的东西对我来说仍然是一种新的东西。 如果您需要我提供更多信息,请告诉我。 为什么我仍然得到UnhandledAlertException? 为什么我手动按下确定按钮之前无法访问登录页面?

如何在桌面浏览器上使用webdriver移动网络

我使用selenium webdriver进行AUT(应用程序测试)的function测试自动化。 AUT是响应式网络,我几乎完成了桌面浏览器的不同测试用例。 现在相同的测试用例也适用于移动浏览器,因为可以从移动浏览器访问AUT。 因为当我们在移动浏览器中打开时它是响应式web,所以UI具有一些不同的表示。 所以我们也需要为移动浏览器运行这些测试。 对于使用safari浏览器的用户代理function的手动测试团队 Safari浏览器菜单 – >开发 – >用户代理 它满足了我们对手动测试的需求。 如果我们可以通过自动化做同样的事情,即在桌面浏览器上使用某些twik运行测试,那么它也被认为是移动Web自动化完成。 我的问题是如何使用web驱动程序来修改标题。 url是相同的,因为只有一个网络应用程序。 我的自动化测试使用FirefoxDriver和chromeDriver在firefox上正常运行。 两种浏览器都有类似的开发工具,但我无法通过自动化来利用它。 我们使用的是selenium2.53.0。 我们的IVY文件具有以下与selenium相关的依赖关系。 任何人都可以提供建议并帮助我如何运行我的测试来实现它以及我需要做的相关代码更改是什么? 谢谢。

Selenium web驱动程序和多语言

我用selenium webdriver + java。 例如,当我想通过xpath获取一些数据/文本时 driver.findElement(By.xpath(“.//table[3]/tbody/tr/td/table[1]/tr[1]/td[1]”)).getText() 如果我想要获得俄文文本,它会让我回头看看。 符号,而不是文本。 用英语它可以正常工作。 有任何想法吗? 谢谢!

在Java中运行selenium webdriver测试用例时的参数错误

我正在尝试在Selenium webdriver中运行此方法,但我继续收到此错误: org.testng.TestNGException: Method PopulateBorrower requires 2 parameters but 0 were supplied in the @Test annotation. at org.testng.internal.Parameters.checkParameterTypes(Parameters.java:198) at org.testng.internal.Parameters.createParameters(Parameters.java:134) at org.testng.internal.Parameters.createParameters(Parameters.java:370) at org.testng.internal.Parameters.handleParameters(Parameters.java:447) at org.testng.internal.Invoker.handleParameters(Invoker.java:1384) at org.testng.internal.Invoker.createParameters(Invoker.java:1075) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1180) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:128) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) at org.testng.TestRunner.privateRun(TestRunner.java:767) at org.testng.TestRunner.run(TestRunner.java:617) at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) at org.testng.SuiteRunner.run(SuiteRunner.java:240) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1203) at org.testng.TestNG.runSuitesLocally(TestNG.java:1128) at […]

selenium元素位置

有没有一种简单的方法可以从另一个元素中找到一个子元素(这两个项目都是使用PageFactory定位的)? 我们有一套容纳许多模块的容器,我想确保它们显示在适当的位置。 API似乎只有以下方法: webElement.findElement(s).(By by); 有一种简单的方法可以执行以下操作: webElement.findElement(s)(WebElement webElement); 甚至更好: webElement.contains(WebElement webElement);

当我显示一个对话框时,抛出exception“UnhandledAlertException:Modal dialog present”

我使用Internet Explorer 9使用Selenium Webdriver 2.42.2登录网站。 当我输入凭据并按下登录按钮时,会弹出一个modal dialog,说: 您已登录到同一物理设备。 您是否希望从之前的登录和登录再次注销? 所以有2个选项是/否。 我已经使用了driver.switchTo().alert.accept()但是警报在出现后很快就会消失,只需几分之一秒。 它没有按下Yes按钮。 我的代码: public class launch{ public static void main(Sting args[]){ driver.findElement(By.id(“login”)).click();// click performed launch obj = new launch(); if(obj.isAlertPresent(driver) == true) { Thread.sleep(3000); driver.switchTo().alert(); String a = driver.getTitle(); System.out.println(a); } } public boolean isAlertPresent(WebDriver drive) throws InterruptedException { try { Thread.sleep(2000); drive.switchTo().alert(); Thread.sleep(2000); return […]

如何为webdriver编写keyDown和keyUp?

我正在尝试为webdriver写一个keyDown和keyUp,类似于selenium。 我知道如何使用Actions,但是dint找到了一种编写generics(用于特殊键和普通键)keyDown函数的方法。 像selenium一样接受键码以及键。 有任何想法吗?

TestNG软断言输出不全面

我在我的代码中使用TestNG软断言。 public class AssertionTest{ private SoftAssert softAssert = new SoftAssert(); @Test(enabled = true) public void testSoftAssertion(){ softAssert.assertTrue(false); softAssert.assertTrue(true); softAssert.assertEquals(“India”, “US”); softAssert.assertAll(); } } 当测试执行完成测试失败(如预期)但结果不提供详细信息,而是提供如下信息,这无助于理解哪个断言失败。 FAILED: testSoftAssertion java.lang.AssertionError: The following asserts failed: null, null 我期待输出有助于理解结果的东西(这种类型的输出是在我们使用硬断言时生成的,即使用Assert类)。 FAILED: testSoftAssertion java.lang.AssertionError: The following asserts failed: expected [true] but found [false] expected [India] but found [US] 这是已知的TestNG软断言的缺陷/缺点还是有一些我不知道的东西?

geb.driver.DriverCreationException:无法从回调创建驱动程序

我正在设置一些Geb测试,我得到“geb.driver.DriverCreationException:无法从回调创建驱动程序”错误。 Geb将尝试启动测试浏览器窗口,但一旦它启动,我的测试都没有运行,我得到上述错误。 我刚刚对Firefox 32.0.2进行了自动Firefox更新,所以我怀疑新版本和Selenium Web Driver不再玩得很好了吗? 我该如何解决这个问题? 这是我一直在使用的Geb.config文件? 我没有改变它约5个月,它一直工作到现在… import org.openqa.selenium.firefox.FirefoxDriver import geb.waiting.WaitingSupport reportsDir = “target/geb-reports” driver = { //path is specific to each machine. This is the path to firefox.exe def pathToBin = ‘C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe’ System.setProperty(“webdriver.firefox.bin”,pathToBin) def driverInstance = new FirefoxDriver(); driverInstance.manage().window().maximize() driverInstance }