美文网首页
Web自动化Selenium+TestNG实践(一)

Web自动化Selenium+TestNG实践(一)

作者: 测试老杨 | 来源:发表于2018-08-02 23:03 被阅读63次

登录测试

登录成功的测试代码如下:

package com.yzc.mysystem.test;

import static org.testng.Assert.assertEquals;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class MyLoginSuccessTest {
  @Test
  @Parameters({"user","passwd","expected"})
  public void loginTest (String user,String passwd,String expected) throws InterruptedException {
      System.setProperty("webdriver.firefox.bin","C:\\Program Files\\Mozilla Firefox\\firefox.exe");    
      WebDriver driver = new FirefoxDriver();
      driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
      driver.manage().window().maximize();
      driver.get("http://192.168.0.153:8080/myweb");
      WebElement accountBox = driver.findElement(By.className("inputgri"));
      accountBox.sendKeys(user);
      WebElement passwdBox = driver.findElement(By.xpath("//*[@id=\"content\"]/form/table/tbody/tr[2]/td[2]/input"));
      passwdBox.sendKeys(passwd);
      WebElement submitbutton = driver.findElement(By.xpath("//*[@id=\"content\"]/form/p/input"));
      submitbutton.click();
      String message = driver.findElement(By.xpath("//*[@id='rightheader']/p/font")).getText();  
      assertEquals(message.contains(expected),true);
      Thread.sleep(3000);
      driver.quit();
  }
}

登录失败的测试代码如下:

package com.yzc.mysystem.test;

import static org.testng.Assert.assertEquals;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class MyLoginFailTest {
  @Test
  @Parameters({"user","passwd","expected"})
  public void loginTest (String user,String passwd,String expected) throws InterruptedException {
      System.setProperty("webdriver.firefox.bin", "C:\\Program Files\\Mozilla Firefox\\firefox.exe");   
      WebDriver driver = new FirefoxDriver();
      driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
      driver.manage().window().maximize();
      driver.get("http://192.168.0.153:8080/myweb");
      WebElement accountBox = driver.findElement(By.className("inputgri"));
      accountBox.sendKeys(user);
      WebElement passwdBox = driver.findElement(By.xpath("//*[@id=\"content\"]/form/table/tbody/tr[2]/td[2]/input"));
      passwdBox.sendKeys(passwd);
      WebElement submitbutton = driver.findElement(By.xpath("//*[@id=\"content\"]/form/p/input"));
      submitbutton.click();
      String message = driver.findElement(By.xpath("//*[@id='content']/form/table/tbody/tr[1]/td[2]")).getText();  
      assertEquals(message.contains(expected),true);
      Thread.sleep(3000);
      driver.quit();
  }
}

testng.xml配置文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" parallel="tests" thread-count="3">
  <test name="test1">
    <parameter name="user" value="admin" />
    <parameter name="passwd" value="123456" />    
    <parameter name="expected" value="您好" />
    <classes>       
      <class name="com.yzc.mysystem.test.MyLoginSuccessTest"/>
    </classes>
  </test>
  <test name="test2">
    <parameter name="user" value="admin" />
    <parameter name="passwd" value="" />    
    <parameter name="expected" value="用户名或密码不正确" />
    <classes>       
      <class name="com.yzc.mysystem.test.MyLoginFailTest"/>                    
    </classes>
  </test>   
  <test name="test3">
    <parameter name="user" value="admin" />
    <parameter name="passwd" value="12345" />    
    <parameter name="expected" value="用户名或密码不正确" />
    <classes>       
      <class name="com.yzc.mysystem.test.MyLoginFailTest"/>                    
    </classes>
  </test>     
</suite> 

查看测试报告

image.png

相关文章

网友评论

      本文标题:Web自动化Selenium+TestNG实践(一)

      本文链接:https://www.haomeiwen.com/subject/zwdevftx.html