• 软件测试小组作业-实验2


            使用Selenium进行Web测试

    1、安装Selenium插件

    首先我们需要下载firefox浏览器,然后,在工具栏的“附加组件”中搜索“Selenium IDE”,之后点击安装即可。

    2、学习使用SeleniumIDE插件进行脚本录制和导出

        首先,打开安装好的selenium插件,如下图:

        之后,红色按钮按下表示正在录制,这时候只用将界面切换到Firefox,网址中输入www.baidu.com,然后再搜索框中输入文字,点击搜索,所有的控件的访问都会被记录下来,然后切换回seleniumIDE就可以看到已经录制完毕

      

    之后就可以选择脚本执行的速度,以及开始运行脚本。然后可以点击“文件->save test case” 或者“文件->export test case”就可以保存或者导出脚本。

    3、访问http://www.ncfxy.com,使用学号登录,之后就可以看到该用户的邮箱和学号两项信息。(由于含有个人信息,截图略)

    4、编写Selenium Java WebDriver程序,测试info.csv表格中的学号和邮箱的对应关系是否正确。

    具体代码见Github:

    https://github.com/George950220/Selenium-TestGroupWork/

    主要代码如下:

    package mumu.st.selenium.test;

     

    import static org.junit.Assert.assertEquals;

     

    import java.io.File;

    import java.io.IOException;

    import java.nio.charset.Charset;

    import java.util.ArrayList;

    import java.util.concurrent.TimeUnit;

     

    import org.junit.*;

    import org.openqa.selenium.By;

    import org.openqa.selenium.WebDriver;

    import org.openqa.selenium.WebElement;

    import org.openqa.selenium.chrome.ChromeDriver;

    import org.openqa.selenium.firefox.FirefoxDriver;

     

    import com.csvreader.CsvReader;

    public class TestClass {

       private ArrayList<String[]> csvList;

        WebDriver driver;

     

       @Before

       public  void readCSV() throws IOException{

          String chDriver = new File(new File(".").getCanonicalPath()+"\"

               + "driver/chromedriver.exe").getCanonicalPath();

          System.setProperty("webdriver.chrome.driver", chDriver);

          System.setProperty("webdriver.chrome.bin", "C:\Program Files (x86)"

               + "\Google\Chrome\Application\chrome.exe");

         

          driver = new ChromeDriver();

          driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

     

        try {      

             csvList = new ArrayList<String[]>(); //存csv中的信息

             String csvFilePath = "C:\Users\lenovo\Desktop\info.csv";

             CsvReader reader = new CsvReader(csvFilePath,',',Charset.forName("SJIS"));   

                

             reader.readHeaders(); // 去标题

                

             while(reader.readRecord()){ //读信息

                 csvList.add(reader.getValues());  

             }              

             reader.close();  

     

         } catch (Exception ex) {  

                 System.out.println(ex);  

             }  

    }

    @Test

    public void testSelenium() throws InterruptedException{

        for(int row=0;row<csvList.size();row++) {

            driver.get("http://www.ncfxy.com");

            //取出csv文件中的信息

            String name = csvList.get(row)[0];

            String mail = csvList.get(row)[1];

     

            //获取登录页面的元素

            WebElement username = driver.findElement(By.name("name"));

            WebElement pwd = driver.findElement(By.name("pwd"));

            WebElement sumit = driver.findElement(By.id("submit"));

     

            //填信息

            username.clear();

            username.sendKeys(name);

            System.out.println("setName");

            pwd.clear();

            pwd.sendKeys(name.substring(4));

            System.out.println("setPass");

            sumit.click();

     

            //获取信息页面的邮箱值

            WebElement tableEle = driver.findElement(By.id("table-main"));

            String tableEleTextStr = tableEle.getText();

            String mailEle = tableEleTextStr.substring(tableEleTextStr.indexOf("箱") + 2, tableEleTextStr.indexOf("学") - 1);

            String id = tableEleTextStr.substring( tableEleTextStr.indexOf("号") + 2);

            System.out.print(id);

            boolean match = name.equals(id) && mail.equals(mail);

            assertEquals(true, match);

            Thread.sleep(1500);

        }

    }

     

        @After

        public void close(){

            driver.close();

        }

    }

  • 相关阅读:
    WinForm的Chart控件画条形图
    WinForm的Chart控件画折线图
    自定义控件
    左侧收缩菜单
    数组
    C#生成随机数的三种方法
    WinForm之GDI手动双缓冲技术
    WinForm之GDI画图步骤
    WinForm GDI编程:Graphics画布类
    翻译:《实用的Python编程》08_02_Logging
  • 原文地址:https://www.cnblogs.com/mumu95/p/5402327.html
Copyright © 2020-2023  润新知