一、Selenium环境搭建
我是windows系统,所以以windows为例。
Selenium安装
pip install selenium==版本号
如果安装慢,可以指定国内源
豆瓣源:https://pypi.douban.com/simple/
-
查看是否安装成功
pip show selenium
安装chrome
官网地址:https://www.google.cn/chrome/
下载完安装,安装时最好选择默认路径,否则后边可能会有奇怪的问题。
安装chromedriver
点击谷歌浏览器右上角的三个点--帮助--关于,查看谷歌浏览器的版本比如我是96.0.4664.93
最好关掉浏览器的自动更新,否则更新后需要下载对应的Chromedriver进行替换
-
chromedriver下载
下载地址:http://npm.taobao.org/mirrors/chromedriver/
找到自己对应的版本并下载,最大的版本号相同即可,比如我是96.0.4664.93,则下载这几个中的任意一个即可
然后选择对应的平台下载即可
chromedriver并不提供win64的版本,64位操作系统兼容32的,可放心下载。
下载完成后解压,得到 chromedriver.exe,将其放入操作系统PATH指向的任意路径,如 Python 的主目录。
这时候打开cmd输入chromedriver应该会输出如下
firefox下载
工作的时候可能会同时测试多个浏览器(兼容),firefox也是selenium支持比较好的浏览器。
官网地址:http://www.firefox.com.cn/
驱动下载:http://npm.taobao.org/mirrors/geckodriver/
与chrome不同,firefox的驱动不需要考虑版本,直接下载最新的即可
二、HTML
做SeleniumUI自动化测试之前,需要掌握一些基础的前端知识。
巧了,我就完全不懂。
那就快速学一下。
- 什么是HTML
-
HTML指的是超文本标记语言(Hyper Text Markup Language)
-
HTML不是一种编程语言,而是一种‘标记语言’
-
标记语言是一套标记标签
-
HTML使用标记标签来描述网页
-
- HTML标签
-
HTML标签是由尖括号包围的关键词
-
HTML标签通常是成对出现的
-
标签对中的第一个标签是开始标签,第二个标签是结束标签
-
开始标签和结束标签也被称为开放标签和闭合标签
-
- HTML属性
-
HTML标签可以拥有属性,属性提供了有关HTML元素的更多信息
-
属性总是以名称/值对的形式出现,比如id=‘aa’
-
属性总是在HTML元素的开始标签中规定
-
我们以百度首页为例,按下F12,选择elements,就可以看到它HTML格式的源码信息。
圆圈选中部分textarea就是一对开放/闭合标签
方框选中的就是该标签的两个属性
接下来我们手敲一个HTML,主要为了了解html的一些常见标签和属性,不用掌握。
我用的是一个国产工具HBuilderX
下载地址:https://www.dcloud.io/
<!DOCTYPE html>
<!-- HTML5声明,一定要第一行 -->
<html lang="en">
<!-- 相当于一个人 -->
<head>
<!-- 头部 -->
<meta charset="UTF-8">
<title>我的第一个HTML</title>
<style type="text/css">
p{
color: aqua;
<!-- 选中P标签,改个颜色 -->
}
</style>
</head>
<body>
<!-- 身体 -->
<h1>一级标题</h1>
<div id="div1">
<!-- id是div这个标签的属性,id属性的值是div1,唯一,变? -->
用户名: <input type="text" name="username" id="username" placeholder="用户名" />
<!-- type属于标签共有的属性,不适合定位,name容易重复 -->
<br>
密码: <input type="text" name="password" id="password" placeholder="密码" />
<br>
验证码:
<br>
<button type="button">
<span>登录</span>
<!-- BUTTON标签有个文本的值是登录,在><之间的部分 -->
<!-- 元素在一个元素之内 -->
</button>
</div>
<div id="div2">
<p>这是一个段落</p>
<a href="https://www.baidu.com">百度一下,你就不知道</a>
<!-- 超链接 anchor 锚 -->
<a href="https://cn.bing.com" target="_blank">有求必应</a>
<!-- 在新窗口中操作 -->
</div>
<div id="div3">
<input type="button" id="alert" value='alert' onclick="alert('helloalert')" />
<input type="button" id="confirm" value='confirm' onclick="confirm('helloconfirm')" />
<input type="button" id="prompt" value='prompt' onclick="prompt('helloprompt')" />
<!-- 三种弹窗,selenium需要切换方可操作 -->
</div>
<div id="div4">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<!-- 无序列表 -->
</ul>
<ol>
<li>呵呵</li>
<li>哈哈</li>
<li>嘿嘿</li>
<!-- 有序列表 -->
</ol>
</div>
<div id="div5"><select multiple="multiple">
<!-- 单选就去掉这个multiple的属性 -->
<option value="1">10K-13K</option>
<option value="2">13K-16K</option>
<option value="3">16K-19K</option>
<option value="3">19K-25K</option>
<!-- 多选下拉列表 -->
</select>
</div>
<iframe id='if' name='nf' width="800" height="600" src="http://127.0.0.1/upload/forum.php"></iframe>
<!-- 三种 alert iframe window -->
</body>
</html>
这个html工具的右上角有一个预览功能,第一次点击会下载一个插件,下载好之后就可以预览效果了。
之后学习selenium时,就可以用我们自己写的这个html来练习元素查找相关的知识。
知识点总结
公众号后台回复‘html’,获取完整html.xmind文件
三、第一个selenium脚本
写一个最基础的脚本试试环境是否可用。
from selenium import webdriver
driver = webdriver.Chrome()#C要大写! 通过Chrome浏览器打开浏览器
#Chorme哪里来的? --在webdriver中__init__.py中有定义from .chrome.webdriver import WebDriver as Chrome
#所以from selenium import webdriver其实等同于
#from selenium.webdriver.chrome.webdriver import WebDriver as Chrome ---可读性差
driver.get(r'D:\test.html')#打开刚才我们自己写的html文件
driver.find_element_by_name('username').send_keys('自动化测试研习社')
看下结果
ok,第一个selenium脚本完成。
扫码关注公众号‘自动化测试研习社’
一起变强