登录网页,进行一些自动、批量的操作,可以显著提高工作效率,使用HTTP协议能实现这样的功能,使用按键精灵也能实现这样的功能,但是这两种方法都有自己的缺点:HTTP协议操作比较复杂,如果不精通的话,很容易提交错乱的数据,影响数据的完整性;按键精灵不存在第一种问题,它是通过模拟人工操作的方式对浏览器进行操作,但是必须使用自身所带的浏览器WQM,因此两种方式都有局限性。
最近接触到了一种类似按键精灵的软件,叫Selenium,是一种浏览器自动化测试框架,功能强大,支持多种语言、多种浏览器,而且还跨平台,本着活到老学到老的原则,迫不及待的安装了Selenium,体验了一把。
1 什么是自动化测试
自动化测试,顾名思义就是软件测试的自动化,用程序代替人工进行软件测试,提高工作效率,减少时间和人工成本。自动化测试主要用于需求变动不频繁、项目周期长、自动化测试脚本可重复使用的情况。常见的自动化测试工具有:QTP、Winner、Rational Robot、AutoRunner等等。
2 Selenium简单介绍
Selenium是一种浏览器自动化测试框架,Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。
这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上;测试系统功能——创建回归测试检验软件功能和用户需求;支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
3 使用Python+Selenium实现百度自动搜索
此次尝试使用Python+Selenium自动打开浏览器,打开百度页面,填入搜索关键词,并点击”百度一下“按钮,实现自动搜索。
3.1 测试环境
操作系统:Ubuntu Kylin 16.04
脚本语言:Python 2.7.12
Selenium版本:Selenium-3.141.0
浏览器:Chromium 76.0.3809.100-0ubuntu0.16.04.1 amd64
3.2 安装过程
安装Python
使用Ubuntu系统的优点是,安装软件只需执行:
sudo apt install <软件名称>
因此,安装Python,只需执行下面的使命令:
sudo apt install python
安装Selenium
Selenium支持多种语言,此次使用Python,直接安装Python语言的Selenium包即可:
pip install selenium
安装Selenium的浏览器驱动Chromedrive
注意针对不同游览器有不同的版本,同样的浏览器也有不同的版本,一定要分清楚。此次使用的浏览器是:Chromium 76.0.3809.100-0ubuntu0.16.04.1 amd64,因此要选择相匹配的Chromedriver版本,下载地址:
http://chromedriver.storage.googleapis.com/index.html
下载之后,将chromedriver移动到下面的目录:
/home/alex/chromedriver
注意存放位置,后面要调用。
添加可执行的权限:
chown 755 /home/alex/chromedriver
编写自动化脚本
# coding=utf-8
from selenium import webdriver
from selenium.webdriver import ActionChains
import os
chromedriver=’/home/alex/chromedriver’
browser = webdriver.Chrome(chromedriver)
browser.get(“http://baidu.com”)
keyword=browser.find_element_by_id(“kw”)
actions=ActionChains(browser)
actions.send_keys_to_element(keyword,”dachengge.com”)
actions.perform()
##关闭浏览器
##browser.close()