所以我使用 Selenium IDE 为我想要完成的某些自动化创建测试用例。我希望能够为这种情况创建一些循环/流量控制,所以我想我需要将它从Selenium IDE导出到像Java这样的东西(我最熟悉Java)。我导出到 Java / JUnit4 / Web Driver 。我认为尝试通过 Eclipse 执行java文件会效果最好,但如果有人知道更容易的事情,请告诉我。无论如何,我发现如何通过Eclipse执行这个Java没有好的解释。
我读过的大多数内容都告诉我要确保我的Build Path库包含 Selenium Standalone Server 。事实上,我读过的所有内容都告诉我使用Selenium遥控器。但是,我认为RC是折旧的,我想知道是否有任何方法可以使它与我从Selenium下载的最近的Web Driver一起工作。另外,我读过的大多数内容告诉我,我需要使用 public static void main(),这有点尴尬,因为我不知道如何改变导出的selenium给我的代码(显然我不能只在主方法中粘贴它。)
如果有人可以指导我从Selenium出口到Java执行代码,我将永远为您负债。
代码Selenium给了我: package com.example.tests;
package com.rackspace;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.NoAlertPresentException;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class RackspaceContactAutomation {
private WebDriver driver;
private String baseUrl;
private boolean acceptNextAlert = true;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "https://cp.rackspace.com/Exchange/Mail/Contacts/List.aspx?selectedDomain=blahblahblah.com";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testContactAutomationJava() throws Exception {
driver.get(baseUrl + "/Exchange/Mail/Contacts/List.aspx?selectedDomain=blahblahblah.com");
driver.findElement(By.linkText("Mr. Man")).click();
driver.findElement(By.linkText("Contact Information")).click();
new Select(driver.findElement(By.id("PhoneNumberType"))).selectByVisibleText("Mobile");
driver.findElement(By.id("MobilePhone")).sendKeys("999-999-9999");
new Select(driver.findElement(By.id("PhoneNumberType"))).selectByVisibleText("Fax");
driver.findElement(By.id("Fax")).sendKeys("999-999-9999");
driver.findElement(By.cssSelector("button.primary")).click();
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
private boolean isAlertPresent() {
try {
driver.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}
private String closeAlertAndGetItsText() {
try {
Alert alert = driver.switchTo().alert();
String alertText = alert.getText();
if (acceptNextAlert) {
alert.accept();
} else {
alert.dismiss();
}
return alertText;
} finally {
acceptNextAlert = true;
}
}
}
这给了我4个错误(3个用于注释,我可以删除,1个用于fail
方法中的tearDown()
。这不是我非常关心的错误我是否让这段代码真正执行?
谢谢!
答案 0 :(得分:14)
在Eclipse中运行Selenium Java代码的一个好方法是将它们作为 JUnit测试运行。
1.在Eclipse中创建Maven项目。
如果您之前没有这样做,请参阅:
2.将以下依赖项添加到pom.xml文件中:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.25.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>2.33.0</version>
</dependency>
<dependency><groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>2.25.0</version>
</dependency>
3.将导出的Java文件复制到Maven项目中。
4.将以下导入添加到文件中:
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
5.将Java文件作为JUnit测试运行,如下所示:
答案 1 :(得分:1)
之前的答案都是合法的。但是要直接从你的eclipse运行,你需要对你的代码进行一些修改。你不需要public void main来运行junit代码。以下是让您只需复制代码并将其粘贴到eclipse中并以JUnit测试运行的步骤:
在eclipse中安装JUnit-&gt;帮助 - &gt; eclipse市场 - &gt;搜索JUnit并安装它,重新启动eclipse。
在eclipse中创建一个项目和一个新包,然后创建一个与selenium IDE导出代码同名的新类,删除除包行以外的所有内容。
将代码从selenium IDE复制并粘贴到该类,删除包行。
右键单击代码区域并以JUnit测试运行。
答案 2 :(得分:-1)
我将硒转换为j单元测试的答案非常简单。
首先你需要在透视工作台中设置代码,在工具栏中单击使用编辑器&gt;转到&gt;中显示,然后按下其中一个编辑器&gt;你看到Java编辑器或窗口编辑器等,这将转换你的代码。然后按返回课程并突出显示它,右键单击鼠标 并将其作为Java应用程序运行。你应该能够看到你的设计/和源代码。再问题