欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

selenium自动化测试的安装与配置步骤

程序员文章站 2022-10-14 12:53:56
1. 什么是selenium?Selenium 是一个 Web 应用的自动化框架。通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字 等操作。Selenium 的自动化原理是这样的:selenium 自动化流程如下:自动化程序调用Selenium 客户端库函数(比如点击按钮元素)客户端库会发送Selenium 命令 给浏览器的驱动程序浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令浏览器执行命令浏览器驱动程序获取命令执行...

1. 什么是selenium?

Selenium 是一个 Web 应用的自动化框架。通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字 等操作。Selenium 的自动化原理是这样的:

selenium自动化测试的安装与配置步骤

selenium 自动化流程如下:

  1. 自动化程序调用Selenium 客户端库函数(比如点击按钮元素)
  2. 客户端库会发送Selenium 命令 给浏览器的驱动程序
  3. 浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令
  4. 浏览器执行命令
  5. 浏览器驱动程序获取命令执行的结果,返回给我们自动化程序
  6. 自动化程序对返回结果进行处理

2. 安装与配置

(1) 安装客户端库

pip install selenium

(2) 安装浏览器驱动

切记:浏览器驱动 是和 浏览器对应的, 不同的浏览器 需要选择不同的浏览器驱动。

本人使用的是微软最新版推出的edge浏览器,其对应驱动的安装步骤如下:

(2.1) 安装驱动msedgedriver.exe

下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads

选择的版本一定要根据自己的浏览器版本所对应,下载下来的是一个压缩包,解压缩后即可得到一个.exe文件。

selenium自动化测试的安装与配置步骤

(2.2) 导入python环境

我使用的anaconda所携带的python3.6环境,直接将msedgedriver.exe 复制到环境中的scripts目录下即可。

selenium自动化测试的安装与配置步骤

(3) 安装edge浏览器

这个没什么好说的,可以去官网下载(慢),也可以利用第三方的平台,比如腾讯的软件管家等。

但一定要和自己安装的浏览器驱动所配对,比如我的版本:83.0.478.58(64位)

selenium自动化测试的安装与配置步骤

3. 测试

核心代码:

from selenium import webdriver
wd = webdriver.Edge(.exe所在目录位置)
wd.get(测试的页面url)

如果路径、版本配对、环境配置都没问题的话,edge(或者其他)浏览器就会自动的打开对应的页面。

# 基于selenium的自动化测试(模拟用户在浏览器上自动地完成某些行为)
# 主要用于web测试
# 操纵scdn二级搜索

from selenium import webdriver

wd = webdriver.Edge(r"D:\Study\tools\webdriver\edge\msedgedriver.exe")

wd.get("https://blog.csdn.net/qq_39504519")

# 搜索辽宁大学
ele = wd.find_element_by_class_name("input_search")
ele.send_keys("辽宁大学")
ele = wd.find_elements_by_xpath(r'//a[@class="btn-nobg-noborder btn-search"]/img')[0]
print(ele)
ele.click()


# wd控制新跳转的页面
for handle in wd.window_handles:
    wd.switch_to_window(handle)
    if "辽宁大学" in wd.title:
        break

print(wd.title)
ele = wd.find_element_by_css_selector('input.input_search[type="text"]')
# 先清空ele元素中的内容
ele.clear()
# 搜索阿里巴巴
ele.send_keys("阿里巴巴\n")

# 如果想要控制 原来 的页面
# (1)
# for handle in wd.window_handles:
#     wd.switch_to_window(handle)
#     if "qq_" in wd.title:
#         break
#(2)
# mainwindow = wd.current_window_handle
# wd.switch_to_window(mainwindow)

关于一些自动化测试的代码,给大家推荐一个selenium自动化学习的一个网站: http://www.python3.vip/tut/auto/selenium/01/

 

本文地址:https://blog.csdn.net/qq_39504519/article/details/107126062