首页 > 代码库 > Software Testing Lab2 (软件测试实验二) —— Selenium安装及入门
Software Testing Lab2 (软件测试实验二) —— Selenium安装及入门
Download and install Firefox browser
If you are the user of WINDOWS, there is a link available for you.
Download and install selenium&firebug
There is the way that how I finish this step. Open Firefox, click the buttom like picture.
Then, search selenium&firebug by this way. When you do this successfully, the icon like this will appear in the tool table.
Record and export scripts by Selenium IDE
Record:
1. Open Selenium. Make sure it is working. (There is a red bottom on the right)
2. Do some operate that you prefer to record on Firefox.
3. Play the test case and debug.
Export:
1. File->Export test case as->Java Junit4 WebDriver
2. Create a new project and import this .java
3. Add .jar of selenium (Before that be sure that you have downloaded it)
Please affirm the LIB of selenium jar is added too, otherwise it is no use. Also, junit is necessary.
4. Debug
In this part, I met a bug when I run this project.
org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN10
You can find the solution through stackoverflow. Add the code.
File pathToBinary = new File("C:\\user\\Programme\\FirefoxPortable\\App\\Firefox\\firefox.exe");//The way you store firefox.exe FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary); FirefoxProfile firefoxProfile = new FirefoxProfile(); WebDriver driver = new FirefoxDriver(ffBinary,firefoxProfile);
Run result:
There is code, opening the url, loging in, asserting value of the special element and comparing them.
package com.example.tests; import java.util.regex.Pattern; import java.io.File; import java.util.concurrent.TimeUnit; import org.junit.*; import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxBinary; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.support.ui.Select; public class testSelenium { private WebDriver driver; private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); @Before public void setUp() throws Exception { File pathToBinary = new File("d:\\program\\Firefox\\firefox.exe"); FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary); FirefoxProfile firefoxProfile = new FirefoxProfile(); driver = new FirefoxDriver(ffBinary,firefoxProfile); baseUrl = "http://121.193.130.195:8080"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } @Test public void testSelenium() throws Exception { driver.get(baseUrl + "/"); driver.findElement(By.id("name")).clear(); driver.findElement(By.id("name")).sendKeys("3014218140"); driver.findElement(By.id("pwd")).clear(); driver.findElement(By.id("pwd")).sendKeys("218140"); driver.findElement(By.id("submit")).click(); assertEquals("https://github.com/Danning1996", driver.findElement(By.xpath("//tbody[@id=‘table-main‘]/tr[3]/td[2]")).getText()); } @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; } } }
The project will open the browser and do the same operation just as you did
Coding the project and testing
OMG,又遇到了一个7054的bug,简单点啊~QAQ
Software Testing Lab2 (软件测试实验二) —— Selenium安装及入门