1. Selenium是什么?
Selenium是一个用于Web应用程序测试的[工具]。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、[Java]等不同语言的测试脚本。
2. 自动化功能测试应用场景;
- WebUI :Selenium 主要实现WebUI自动化测试。
一般UI自动化都是在回归测试阶段进行。主要用于验证流程的正确性,特定功能的正确性。 - APPUI
- 接口自动化
自动化测试不会考虑整个流程是否通畅,只会根据设置好的动作机械化执行。
3. 用Python写个简单测试脚本
下载地址:
https://download.jetbrains.com.cn/python/pycharm-community-2021.3.2.exe
https://www.python.org/ftp/python/3.10.2/python-3.10.2-amd64.exe
步骤一. 安装Python 到 D:\install-to\Python3.10.2
步骤二.将WebDriver下载后,将chromedriver.exe放在Pythond的安装目录(D:\install-to\Python3.10.2)下
步骤三.运行指令 pip install selenium
WARNING: You are using pip version 21.2.4; however, version 22.0.3 is available.
You should consider upgrading via the 'D:\install-to\Python3.10.2\python.exe -m pip install --upgrade pip' command.
D:\install-to\Python3.10.2>python.exe -m pip install --upgrade pip
如果还报错试试这个:pip install selenium --default-timeout=1000
步骤四. 安装python开发工具pycharm
步骤五. pycharm ->file->settings->Project Interpreter->+ selenium->install package
test.py内容如下:
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
#定义一个chrome浏览器驱动,用于后续的浏览器相关操作
webdriver = webdriver.Chrome()
#通过get方法实现了浏览器的调用,以及URL的访问
webdriver.get("http://www.baidu.com")
#输入框里面输入搜索内容
webdriver.find_element(By.ID, "kw").send_keys("四部曲")
#触发点击按钮 开始搜索
webdriver.find_element(By.ID, "su").click()
#等待1s,(防止由于页面元素加载不到导致下面代码无法执行)
sleep(1)
#点击第一条结果 ()
webdriver.find_element(By.XPATH, '//*[@id="2"]/div/div/h3/a').click()
运行试试
D:\log-everyday\2022-year>python test.py
DevTools listening on ws://127.0.0.1:56427/devtools/browser/206f3af9-2fab-491a-8e70-9631550921b1
Traceback (most recent call last):
File "D:\log-everyday\2022-year\test.py", line 9, in <module>
webdriver.find_element(By.ID, "kw").send_keys("四部曲")
AttributeError: 'dict' object has no attribute 'send_keys'
待解决。
问题原因: chromedriver与chrome版本不匹配导致。重新下载chrome 和 chromedriver 版本一致
98.0.4758.102(正式版本) (64 位)
然后copy chromedriver.exe到python的安装目录下,问题解决
https://registry.npmmirror.com/binary.html?path=chromedriver/98.0.4758.102/