是不是总听别人说自动化测试前景好,想入门却不知道从哪开始?看到 “Python”“Selenium” 这些词就犯怵,担心自己没编程基础学不会?跟着网上教程敲代码,要么环境搭不起来,要么脚本跑起来全是错,越学越没信心?别慌,今天兔子哥就带零基础的朋友从零开始学 Selenium+Python 自动化测试,不用怕没基础,跟着步骤一步步来,你会发现自动化测试没那么难,普通人也能学会。
一、零基础学自动化测试,先做好这 3 件准备
很多人一开始就急着写代码,结果基础没打牢,越学越费劲。其实刚开始不用急,先把这几件事做好,后面会顺很多。
1. 选对工具:这些软件必须装,新手别乱下
学 Selenium+Python 自动化测试,需要装的工具不多,但每一个都很重要:
- Python:选 3.8 或 3.9 版本就行,官网直接下,安装时记得勾 “Add Python to PATH”,不然后面命令行找不到 Python。
- 编辑器:新手推荐 PyCharm 社区版,免费又好用,自带代码提示,写错了会标红,对零基础太友好了。
- 浏览器:推荐 Chrome,调试方便,后面下驱动也简单;当然用 Edge 或 Firefox 也行,步骤差不多。
- Selenium 库:装完 Python 后,打开命令行输 “pip install selenium”,回车就自动装好了,不用自己找安装包。
有朋友问:“一定要用 PyCharm 吗?用记事本写行不行?” 当然行,但用编辑器能省很多事,就像用计算器算数学题,总比手算快吧?
2. Python 基础不用学太深,会这些就够
很多人卡在这里,觉得要先学半年 Python 才能开始,其实完全不用。零基础只要学会这几点,就能写简单的自动化脚本了:
- 变量和打印:知道怎么定义变量,用 print () 输出内容看结果。
- 基本语法:比如冒号、缩进(Python 对缩进特别严,多一个空格少一个空格都报错)。
- 简单循环:会用 for 循环重复执行操作,比如批量点击按钮。
- 函数调用:知道怎么调用别人写好的函数,比如 driver.get () 打开网页。
虽然 Python 基础重要,但不用等到完全学会再开始,边学自动化边补 Python 知识,反而记得更牢。
二、第一个自动化脚本:打开百度搜 “自动化测试”
准备工作做好了,就可以写第一个脚本了,别紧张,就几行代码,跟着敲就行。
1. 步骤拆解:从打开浏览器到搜索内容
第一步:打开 PyCharm,新建一个项目,再建一个 Python 文件(比如叫 test_first.py)。
第二步:写代码,跟着注释一步步来:
python
# 导入Selenium的浏览器驱动from selenium import webdriver# 导入定位元素的方法from selenium.webdriver.common.by import By# 导入时间等待工具(防止脚本跑太快)import time# 启动Chrome浏览器(第一次会有点慢,耐心等)driver = webdriver.Chrome()# 打开百度首页driver.get("https://www.baidu.com")# 等2秒,让页面加载完time.sleep(2)# 定位搜索框,输入“自动化测试”driver.find_element(By.ID, "kw").send_keys("自动化测试")# 定位搜索按钮,点击一下driver.find_element(By.ID, "su").click()# 等3秒,看看搜索结果time.sleep(3)# 关闭浏览器driver.quit()第三步:右键运行,这时候会自动打开 Chrome,搜完内容后关闭,是不是很神奇?
2. 新手常遇到的问题,这里有答案
- 报错 “找不到 chromedriver”:说明没装 Chrome 驱动,现在 Selenium 4.x 会自动装,但偶尔会失败,手动下一个放 Python 安装目录就行。
- 运行后没反应:看看是不是代码里有拼写错误,比如把 “webdriver” 写成 “webdrver”,PyCharm 会标红提示的。
- 搜索框定位不到:百度的搜索框 ID 是 “kw”,按钮是 “su”,如果以后变了,按 F12 检查元素找新的 ID 就行。
有位 @零基础学测试的朋友说:“第一次跑成功的时候特别激动,原来自己真的能写出让电脑自动做事的代码!”
三、自动化测试核心技巧:元素定位和等待机制
会写第一个脚本后,就得学核心技巧了,这两个技能必须掌握,不然脚本很容易出错。
1. 元素定位:网页上的按钮、输入框怎么找?
定位元素就像找人,得知道特征。新手先记这三种方法,够用了:
- ID 定位:
driver.find_element(By.ID, "元素ID"),ID 一般是唯一的,定位准,优先用。 - XPath 定位:
driver.find_element(By.XPATH, "XPath路径"),万能方法,右键元素复制 XPath 就能用。 - 类名定位:
driver.find_element(By.CLASS_NAME, "类名"),适合有明确类名的元素。
怎么找元素特征?打开网页按 F12,点左上角的箭头,再点要定位的元素,右边就会显示它的 ID、类名等信息,复制过来用就行。
2. 等待机制:别让脚本 “跑太快”
网页加载需要时间,脚本跑得比页面快,就会找不到元素报错。这时候得加等待:
- 强制等待:
time.sleep(3),让脚本暂停 3 秒,简单但不够灵活。 - 显式等待:等元素出现再继续,推荐用这个:
python
from selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC# 等搜索结果出现,最多等10秒WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "content_left")))很多人觉得显式等待代码多,不愿意用,但用熟了你会发现,它能让脚本稳定很多,少很多莫名其妙的错误。
四、兔子哥的几点心里话
零基础学自动化测试,最容易犯的错就是 “想太多,做太少”。总担心自己没基础学不会,其实编程这东西,光看教程没用,必须动手敲代码,哪怕照着抄也要敲一遍,敲着敲着就有感觉了。
关于学习顺序,有人说要先学测试理论,再学工具。或许暗示先掌握工具的基本用法,能更快看到成果,更有动力学下去。比如先写出能跑的脚本,再慢慢理解测试用例、测试计划这些理论,效果可能更好。
不过话说回来,自动化测试不是万能的,有些场景手动测试更方便,比如 UI 设计是否美观、操作是否流畅,这些还得靠人来判断。我们学自动化,是为了让它帮我们做重复的工作,比如反复登录、提交表单,自己能省出时间做更重要的事。
关于不同浏览器驱动的底层适配原理,具体机制我还没深入研究过,新手不用纠结这个,知道怎么装驱动、怎么启动浏览器就行,等以后水平高了再研究也不迟。
最后想说,学习自动化测试就像学开车,刚开始觉得方向盘难打,但练得多了自然就顺了。别害怕报错,每一次报错都是进步的机会,解决一个问题就多一份经验。希望这篇教程能帮到想入门的你,现在就打开电脑,动手写第一个脚本吧,你会发现自己比想象中更厉害!
标签: 从零开始学 driver.get
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~