lab2_selenium测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lab2_selenium测试相关的知识,希望对你有一定的参考价值。

1、install seleniumIDE

技术分享

 

2、use selenium to videotype and export the code

 at first, the selenium can not be used completely right. then the teacher told us it‘s the version problem.

so i use selenium2.53. firefox 40. problem solved.

技术分享

 

 

技术分享

 

click 文件->export test case as -> JAVA/JUnit4/WebDriver     to get the code

 

 

3、build a new project, copy the code into the new .java file. add the external jars.

技术分享

 

then add some new code.

4、write Selenium Java WebDriver code

package lab1;

import java.nio.charset.Charset;
import java.util.regex.Pattern;
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.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

import com.csvreader.CsvReader;

public class TestGit {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();
  private String id = null;
  private String pwd = null;
  private String gitUrl = null;

  @Before
  public void setUp() throws Exception {
    
    driver = new FirefoxDriver();
    baseUrl = "http://121.193.130.195:8080";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

  @Test
  public void testGit() throws Exception {
      CsvReader cin =  new CsvReader("F:/inputgit.csv", ‘,‘,Charset.forName("GBK"));
      cin.readHeaders();
      while(cin.readRecord()){
        id = cin.get(0);
        pwd = id.substring(4, 10);
        gitUrl = cin.get(2);
        driver.get(baseUrl + "/");
        driver.findElement(By.id("name")).clear();
        driver.findElement(By.id("name")).sendKeys(id);
        driver.findElement(By.id("pwd")).clear();
        driver.findElement(By.id("pwd")).sendKeys(pwd);
        driver.findElement(By.id("submit")).click();
        String gitUrls = driver.findElement(By.xpath("//tbody[@id = ‘table-main‘]/tr[3]/td[2]")).getText();
        if (!gitUrl.equals(gitUrls)){
            System.out.println(id);
            System.out.println(gitUrl);
            System.out.println(gitUrls);
            continue;
            
        }
        assertEquals(gitUrl,gitUrls);
    }
  }

  @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;
    }
  }
}

技术分享

it took 218s to execute this test.

then I modified the csv file, I changed one record. and I use

 技术分享this to print out the wrong git url.

 

this is the result

技术分享

 this is an exciting experience, i learnt not only test automation, but also the vital thinking method of testing.

以上是关于lab2_selenium测试的主要内容,如果未能解决你的问题,请参考以下文章

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段

;~ 小部分AutoHotkey源代码片段测试模板2019年10月9日.ahk

typescript Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming/angular-2/

如何在片段着色器中进行自定义模板测试

typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming

typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming