上手Web自动化测试(Python+selenium+unittest)

从安装库、包和文件配置上手Web自动化测试,Python主要用selenium和unittest库,此外还有用于远程测试的Selenium Server包。浏览器需要配置chromedriver。

1.安装selenium库

可以在Pycharm,File—>Setting—>Project Interpreter中找到selenium库安装之。如图:
在这里插入图片描述
在这里插入图片描述
也可以在命令行中利用pip安装之,前提是pip命令包也安装过,且是最新版本。如图:上面显示我已经安装过了。
在这里插入图片描述

2.安装unittest库

步骤和安装selenium库是一样的,参考安装即可。

3.下载Selenium Server

这个jar包是用来进行远程测试的,刚开始上手测试可能用不到,但建议安装,不用以后浪费时间。
下载地址:https://www.selenium.dev/downloads/
在这里插入图片描述
下载后是个jar包,找个文件夹把它放进去好好保存哦!

4.chromedriver配置

其实用别的浏览器测试Web也可以,我是用Chrome学习的。
首先将自己的浏览器更新到最新版本,在URL地址栏输入chrome://version查看浏览器版本,如下所示:
在这里插入图片描述
然后到 http://npm.taobao.org/mirrors/chromedriver/ 将对应版本的浏览器驱动下载放到chrome浏览器的安装文件夹下,我的安装文件夹是默认选择的,即C:\Users\Jiang H.T\AppData\Local\Google\Chrome\Application,chromedriver放进去后是这样的:
在这里插入图片描述
弄好后,在环境变量的Path项把chromedriver的地址加进去。就是这里:
在这里插入图片描述
至此,配置部分就结束了。可以开始写测试用例脚本进行Web自动化测试了,下面给出测试Python官网搜索框功能的简单测试脚本。

5.Python官网搜索框功能测试

  • 测试脚本代码
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys


# 创建测试https://www.python.org/搜索功能的测试用例
class PythonorgSearch(unittest.TestCase):  # unittest.TestCase表明这个类是个测试用例
    def setUp(self) -> None:
        self.driver = webdriver.Chrome()  # 创建浏览器实例

    def test_search_in_pythonorg(self):
        driver = self.driver  # 创建浏览器实例的本地引用
        driver.get("https://www.python.org/")  # 打开页面
        self.assertIn("Python", driver.title)  # 断言确保Python在标题中
        elem = driver.find_element_by_name('q')  # 找到搜索框
        elem.clear()  # 清空搜索框
        elem.send_keys("pycon")  # 输入搜索内容
        elem.send_keys(Keys.RETURN)  # Enter
        assert "No results found." not in driver.page_source  # 为了保证某些特定的结果被找到

    def tearDown(self) -> None:
        self.driver.close()


if __name__ == '__main__':
    unittest.main()
  • 测试过程
    运行上面的程序后,测试脚本会调用chrome浏览器打开Python官网,定位到搜索框并在搜索框中输入“pycon”,得到结果后关闭当前网页。成功后,Pycharm会返回如下信息:
    在这里插入图片描述

6.远程服务器测试

为了使用远程 WebDriver, 你应该拥有一个正在运行的 Selenium 服务器。 通过下列命令运行服务器(就是上面下载的那个jar包):
java -jar selenium-server-standalone-3.141.59.jar
得到这样的信息:
在这里插入图片描述
将上面测试用例的对应代码改成这个样子(按自己的需求改),就可以远程测试了:

driver = webdriver.Remote(
   command_executor='http://127.0.0.1:4444/wd/hub',
   desired_capabilities=DesiredCapabilities.CHROME)

driver = webdriver.Remote(
   command_executor='http://127.0.0.1:4444/wd/hub',
   desired_capabilities=DesiredCapabilities.OPERA)

driver = webdriver.Remote(
   command_executor='http://127.0.0.1:4444/wd/hub',
   desired_capabilities=DesiredCapabilities.HTMLUNITWITHJS)

driver = webdriver.Remote(
   command_executor='http://127.0.0.1:4444/wd/hub',
   desired_capabilities={'browserName': 'htmlunit',
                         'version': '2',
                        'javascriptEnabled': True})
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值