Selenium2+java自动化(二)

上一章写到了如何通过Selenium编写登录流程的自动化脚本。众所周知,登录的流程是不变的,唯一变动的便是登录的用户名和密码。如果按上一章的写法,需要变更登录用户时需要在代码上进行更改,这样更改有两个弊端:一是对于不懂代码的纯功能测试来说十分不友好;二是即使懂代码,每次在代码上进行更改也十分容易更改错误,或者更改不完全的。因此为了解决这种情况,本章将使用数据驱动模型(csv文件读取)的方式来编写登录流程的自动化测试代码。

一、新建csv文件,文件中放入用户名和密码,见下图

其中第一行为列名,第一列为用户名,第二列为密码。

二、在pom.xml文件中添加javacsv的依赖

<dependency>
<groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId>
<version>2.0</version>
</dependency>

三、代码如下

package com.practise;

import com.csvreader.CsvReader;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

import java.io.FileNotFoundException;
import java.io.IOException;

public class Login {
public void loginFlow() throws InterruptedException, FileNotFoundException,IOException {
//告知系统火狐浏览器驱动位置
System.setProperty("webdriver.firefox.marionette","C:\\Program Files (x86)\\Mozilla Firefox\\geckodriver.exe");

//定义火狐浏览器对象
WebDriver driver = new FirefoxDriver();
//打开Url
driver.get("http://www.kjt.com/");
//将浏览器窗口设置为最大
driver.manage().window().maximize();

//通过linkText找到登录入口并跳转至登录页面
driver.findElement(By.linkText("请登录")).click();
Thread.sleep(2000);

//定义用户名和密码
String username = null;
String password = null;

//设置csv文件位置
String filepath = "D:\\javase\\info.csv";

//实例化csvReader
CsvReader reader = new CsvReader(filepath);
reader.readHeaders();

//读取csv文件中的用户名和密码
while (reader.readRecord()){
username = reader.get("username");
password = reader.get("password");
}

//通过id找到用户名、密码输入框并输入用户名和密码
driver.findElement(By.id("input_login_name")).sendKeys(username);
driver.findElement(By.id("input_login_pwd")).sendKeys(password);

//点击登录按钮
driver.findElement(By.id("PageLoginBtn")).click();
Thread.sleep(2000);

//验证是否登录成功
try{
//获得登录成功后的用户名
String customername = driver.findElement(By.className("username")).getText();
//判断用户名是否与输入的用户名一致
if(customername != null && customername.equals(username)){
System.out.println("登录成功");
}
}catch (NoSuchElementException e){
System.out.println("登录失败");
}

//关闭浏览器
driver.quit();
}
}

 

转载于:https://www.cnblogs.com/lemond/p/9641629.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值