小言_互联网的博客

《软件测试》实验三:Web应用测试(WEB 功能测试——安居客)

230人阅读  评论(0)

题目

测试网址:https://nj.zu.anjuke.com/

环境配置

ChromeDriver

1. 查看自己Chrome浏览器的版本

在地址栏输入

chrome://version

这里显示的就是浏览器的版本

可以看到我的浏览器的版本为106.0.5249.119

2. 下载对应版本的ChromeDriver

进入下载页面,按CTRL+F打开搜索框,把刚才查到的版本号粘贴进去
如果碰到查不到的情况,比如我这个版本是最新的,没有查到驱动,那么可以下载离得最近的一个版本的驱动

比如查找106.0.5249开头的驱动,找到了两个,那么下载其中最新的就可以

两个里面最新的是106.0.5249.61,点击文件夹进入,然后点击win32的zip压缩包下载

3. 添加环境变量

解压下载好的压缩包,得到一个chromedriver.exe文件,把它的所在路径添加到环境变量中

打开cmd,输入

chromedriver

如果看到如下输出,说明安装成功

安装Selenium

1. 官网下载jar包

进入官网,点击下载Selenium Server

2. 在项目中添加Selenium

新建一个项目,点击IDEA左上方的“文件->项目结构->库”,点击“+”,选择Java,然后找到刚才下载的jar包,点击“确定”,即可成功导入

代码

学习Selenium

官方自带中文文档,其中:
elements是讲网页元素相关的api
interactions是讲浏览器交互相关的api
actions是讲模拟鼠标、键盘等设备的api

测试代码

思路:首先打开浏览器,跳转到指定网站,然后根据测试需求文档的内容,在官方文档中查找相应的api,最后对于每一步,按步骤依次写代码即可

整个测试不复杂,只需要拿xpath就可以找到所有的元素

xpath在《信息技术基础认知与实践》(Python方向)这门课中教过,是写爬虫的时候用到的一种查找网页元素的方法

最后附上代码和注释

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class anjuke {
   

    public static void test(WebDriver driver) throws InterruptedException {
   

        //打开安居客网页版
        driver.get("https://nj.zu.anjuke.com/");
        Thread.sleep(500);
        //点击租房
        driver.findElement(By.xpath("/html/body/div[2]/div/ul/li[4]/a")).click();
        Thread.sleep(500);
        //地址选择“南京”
        driver.findElement(By.xpath("//*[@id='switch_apf_id_5']/i")).click();
        Thread.sleep(500);
        driver.findElement(By.xpath("//*[@id='city_list']/dl[2]/dd/a[4]")).click();
        Thread.sleep(500);
        //点击“地铁找房”
        driver.findElement(By.xpath("/html/body/div[4]/ul/li[2]/a")).click();
        Thread.sleep(500);
        //选择“2号线”,选择“马群”
        driver.findElement(By.xpath("/html/body/div[5]/div[2]/div[1]/span[2]/div/a[3]")).click();
        Thread.sleep(500);
        driver.findElement(By.xpath("/html/body/div[5]/div[2]/div[1]/span[2]/div/div/a[24]")).click();
        Thread.sleep(500);
        //price: 5000-8000
        driver.findElement(By.xpath("//*[@id='from-price']")).sendKeys("5000");
        Thread.sleep(500);
        driver.findElement(By.xpath("//*[@id='to-price']")).sendKeys("8000");
        Thread.sleep(500);
        driver.findElement(By.xpath("//*[@id='pricerange_search']")).click();
        //选择“整租”
        driver.findElement(By.xpath("/html/body/div[5]/div[2]/div[4]/span[2]/a[2]")).click();
        Thread.sleep(500);
        //房屋类型选择“普通住宅”
        driver.findElement(By.xpath("//*[@id='condmenu']/ul/li[2]/a")).click();
        Thread.sleep(500);
        driver.findElement(By.xpath("//*[@id='condmenu']/ul/li[2]/ul/li[2]/a")).click();
        Thread.sleep(500);
        //在搜索框中搜索“经天路”,并点击“搜索”
        driver.findElement(By.xpath("//*[@id='search-rent']")).sendKeys("经天路");
        Thread.sleep(500);
        driver.findElement(By.xpath("//*[@id='search-button']")).click();
        Thread.sleep(500);
        //选择“视频看房”
        driver.findElement(By.xpath("//*[@id='list-content']/div[1]/a[2]")).click();
        Thread.sleep(500);
        //依次点击“租金”、“最新”排序进行查看
        driver.findElement(By.xpath("//*[@id='list-content']/div[2]/div/a[2]")).click();
        Thread.sleep(500);
        driver.findElement(By.xpath("//*[@id='list-content']/div[2]/div/a[3]")).click();
        Thread.sleep(500);
        //点击第一个搜索出来的房源进行查看
        driver.findElement(By.xpath("//*[@id='list-content']/div[3]")).click();
        Thread.sleep(5000);
    }

    public static void main() {
   

        WebDriver driver = new ChromeDriver();
        try {
   

            test(driver);
        } catch (Exception e) {
   

            e.printStackTrace();
        } finally {
   

            driver.quit();
        }
    }
}


 

转载:https://blog.csdn.net/qq_35395195/article/details/127449599
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场