
本文共 6754 字,大约阅读时间需要 22 分钟。
Selenium WebDriver是Web UI自动化最流行的工具之一。没有比Python更好的补充它来自动化广泛的Web应用程序。因此,我们提供了这个Selenium Webdriver Python教程,以帮助您快速完成任务。那么让我们开始了解我们在UI自动化测试中所做的一切。在此所写文章做成笔记记录的形式,书写代码过程中难免取之互联网,有的是本人书写,推崇自己一些见解想法
Web UI自动化是指自动执行在Web浏览器窗口中执行的操作,如导航到网站,填写表单,包括处理文本框,单选按钮和下拉列表,提交表单,浏览网页,处理弹出窗口等等。硒WebDriver是一个可以自动执行所有这些任务。它可以与Firefox,Internet Explorer,Safari和Chrome等所有类型的Web浏览器交互。
大多数情况下,我们使用Java和Eclipse来创建一个Selenium Webdriver项目。在这篇文章中,我们将使用Python来取代Java,并演示Selenium Webdriver Python集成如何实现Web UI自动化。
Selenium是一个开源的,它的库有不同的编程语言来执行Web UI自动化测试,Python就是其中之一。
用于Python的Selenium WebDriver客户端库使我们能够利用Selenium WebDriver提供的所有功能,并与Selenium Standalone Server交互以执行基于浏览器的应用程序的自动化测试(远程和分布式测试)。
对于推动Selenium WebDriver Python库开发的团队及其成员来说,可能与你有关,他们是Miki Tebeka,AdamGoucher,Eric Allenin,David Burns,Luke Semerau,Jason Huggins和MaikRoder。
Selenium Webdriver库与一系列包含Python 2.6,2.7和3.2-3.5的Python版本兼容。
Web自动化的Selenium Webdriver Python安装程序。
安装Python。
在Linux发行版,MAC OS X和Unix机器上; Python是默认安装的。
但是,在Windows机器上,需要单独安装。以下链接提供了针对不同操作系统的Python安装程序:
下载python安装程序:https://www.python.org/downloads/
在本教程中,我们已经下载了最新版本的Python(3.5.1),并将其用于本教程不同部分给出的示例。您可以使用下面给出的直接链接来安装Python 3.5.1。
https://www.python.org/ftp/python/3.5.1/python-3.5.1.exe
运行Python安装程序后,它还会安装Python的包管理器工具。它有助于安装像Selenium Webdriver这样的高级软件包。
安装Selenium Webdriver Python包。
有两种独特的方式来安装和准备Selenium Webdriver Python安装程序。
A-使用PIP包管理器来用Python安装Selenium。
1- 首先进入你已经安装python的目录。例如,我们安装了最新的Python版本3.5.1,它的位置在<C:\ python \ python35>文件夹中。
**2-**使用工具来安装Selenium Webdriver软件包。
如果要升级当前安装的Selenium Webdriver软件包,只需将-U标志添加到前面的命令中即可。由于我们已经有最新版本的Selenium Webdriver库,升级命令将返回状态为最新状态。
这种方法是所有用Python安装Selenium的方法中最安全的。以上命令将在系统上设置Selenium WebDriver库,该库包含使用Python创建自动化测试脚本所需的所有模块和类。
工具将下载最新版本的Selenium软件包并将其安装到您的机器上。
可选的-U标志将把已安装软件包的现有版本升级到最新版本。
B-从Source构建Selenium Jar并使用Python进行安装。
1- 从下面的链接下载Selenium源代码包。将源文件解压缩到<selenium-2.53.1>文件夹中,然后执行下一步。
https://pypi.python.org/packages/source/s/selenium/selenium-2.53.1.tar.gz#md5=8d8b532348a5b7c6717593cae11a656b
**2-**现在使用cmd.exe启动命令提示符并运行以下命令以使用Python安装Selenium:
选择Python编辑器。
在建立Python和Selenium WebDriver之后,接下来的重要一步就是选择一个编辑器或一个IDE(集成开发环境)来编写测试脚本。一个好的编辑器或者一个IDE使得编码变得简单。一个IDE功能更强大,并具有一些优秀的功能,如:
-
具有代码完成功能的图形代码编辑器。
-
语法高亮显示。
-
代码浏览器的功能和类。
-
管理项目结构。
-
报告和记录工具。
-
调试和单元测试工具。
像Vim,Nano或Notepad这样的文本编辑器可以编写Python测试脚本。
但IDE在大型项目上工作更方便,下面我们简要介绍一些着名的项目:
流行的Python IDE开发。
**a)PyCharm:**它支持Windows,Linux和Mac操作系统。PyCharm有两个版本 - 社区版和专业版。你可以随时使用它的社区版,因为它是免费的。它有一个专业版本,具有更高级的功能,但你必须购买它。
因此,社区版本适用于创建和运行Selenium测试脚本。它具有出色的调试功能。欲了解更多关于PyCharm的信息,请访问以下链接:
http://www.jetbrains.com/pycharm/
b)PyDev Eclipse插件: PyDev是Eclipse的 Python IDE .PyDev可以通过Eclipse更新管理器使用以下更新站点作为插件安装:http://pydev.org/updates
您可以在以下网址查看详细的安装说明:
http://www.vogella.com/tutorials/Python/article.html
c)PyScripter: PyScripter是免费的开放源代码的Python IDE for Windows。它与Linux不兼容。它提供了现代IDE提供的各种功能,例如IntelliSense和代码完成,测试和调试支持。有关PyScripter及其下载信息的更多详细信息,请访问以下链接:
https://code.google.com/p/pyscripter/
有了这个,我们准备使用Selenium和Python创建和运行我们的测试脚本。
使用Python准备您的第一个Selenium Webdriver自动化脚本。
让我们从Selenium WebDriver开始,创建一个使用Selenium类和函数来自动化浏览器交互的Python脚本。
在这里,我们将向您展示一个示例脚本,打开“www.google.com”在Google搜索文本框中输入搜索文本。然后测试脚本验证显示搜索文本的Google搜索页面。
Firefox的Selenium Webdriver Python脚本。
解码上面的脚本。
让我们逐行讨论脚本,以便更好地理解Selenium WebDriver语句。在即将发布的帖子中,将会有更多关于不同的Selenium WebDriver函数。
步骤1。
selenium webdriver模块实现了支持不同浏览器(包括Firefox,Chrome,Internet Explorer,Safari,其他和RemoteWebDriver)的类,以便在远程机器上可用的浏览器上进行测试。
我们需要从Selenium包导入webdriver来使用Selenium WebDriver方法:
从selenium import webdriver
第2步。
接下来,我们需要使用浏览器的对象来加载网页。浏览器对象提供一个可编程接口,使用Selenium命令与浏览器进行通信。在测试脚本中,我们使用的是Firefox。我们可以创建一个Firefox的实例,如下面的代码所示:
driver = webdriver.Firefox()
在执行这个语句时,将会启动一个新的Firefox窗口。我们已经为驱动程序实例进行了以下设置:
driver.implicitly_wait(30)
driver.maximize_window()
我们为Selenium配置了一个超时,在30秒内启动浏览器。Next语句最大化浏览器窗口。
步骤3。
接下来,我们将导航到应用程序,在我们的案例“ http://www.google.com ”中,将给定的URL传递给driver.get()方法。调用get()方法后,Webdriver会等待,直到页面在浏览器窗口中呈现并将控件发送回脚本。
页面加载后,Selenium将与页面上的各种元素进行交互。接下来,在测试脚本中,我们将看到不同的Selenium WebDriver函数,这些函数用于搜索HTML对象,向Web组件发送文本,模拟按键事件,单击按钮并从下拉列表中选择等等。让我们看看所有这些函数在下一步中使用。
步骤4。
***** 首先,我们将找到Google搜索文本框,为搜索提供文字输入。搜索文本框的id属性为,您可以从下面给出的代码中识别它:
search_field = driver.find_element_by_id()
*****找到搜索文本框后,我们试图通过使用clear()方法清除以前的值,然后使用send_keys()方法提供一个新的值来与文本框元素进行交互。随后调用submit()方法将转发搜索请求进行处理。您可以在接下来的几行中看到这些步骤的快速预览。
search_field.clear()
search_field.send_keys(“Selenium WebDriver Interview Questions ”)
search_field.submit()
*****提交搜索请求后,Firefox驱动程序将显示Google返回的结果页面。结果页面显示与搜索文本匹配的条目列表。列表中的每个条目都被捕获在锚点元素中,并且可以使用“find_elements_by_class_name”方法进行访问。使用它将返回一个元素列表:
lists = driver.find_elements_by_class_name(“_ Rm”)
*****项目列表扩展到许多页面,所以我们限制我们的代码打印锚标签中捕获的前10个条目。我们使用anchor 元素的.text属性输出条目的名称:
这个例子让我们对使用Selenium WebDriver和Python一起创建一个简单的测试自动化脚本有了一个真正的见解。这是一个非常基本的示例脚本。我们将在即将发布的文章中使用Selenium Library和Python的其他有趣和复杂的功能。
TOC
为Internet Explorer和Google Chrome创建Selenium Webdriver Python脚本。
Selenium支持跨浏览器测试,这意味着我们可以在所有浏览器(如Internet Explorer,Google Chrome,Safari和PhantomJS等无头浏览器)上实现自动化。
在本节中,我们将重新使用前面为Internet Explorer和Google Chrome创建的测试脚本来验证Selenium WebDriver的跨浏览器功能。
设置Internet Explorer。
要在Internet Explorer中运行Selenium测试脚本,首先需要下载并设置InternetExplorerDriver服务器。此驱动程序是一个独立的服务器可执行文件,它强制WebDriver的有线协议作为测试脚本和Internet Explorer浏览器之间的链接。
它支持Windows XP,Vista,Windows 7和Windows 8操作系统上的大多数IE版本。
以下是设置InternetExplorerDriver服务器的步骤:
一世。 从所提到的链接http://www.seleniumhq.org/download/下载 InternetExplorerDriver服务器。32位和64位版本都可以下载。我们必须根据我们的系统配置进行选择。
II。 提取下载的 InternetExplorerDriver服务器,并将该文件复制到测试脚本所在的同一目录中。
III。 接下来,您需要检查一个重要的设置,即每个区域的保护模式设置(在IE 7或更高版本上)必须具有相同的值。只要保护模式适用于所有区域,保护模式可以打开或关闭。您可以使用以下步骤更改保护模式设置:
**一个。**从工具菜单中选择Internet选项。
湾 在“Internet选项”对话框中,单击“安全”选项卡。
**C。**选择“选择要查看或更改安全设置的区域 ”中列出的每个区域,并确保所有区域的“启用保护模式 ”(可能需要重新启动浏览器)处于打开或关闭状态。建议所有区域具有如下图所示的类似设置:
IE的Selenium Webdriver Python脚本。
为Internet Explorer创建的测试脚本中的执行步骤与为Firefox创建的脚本非常相似。
这里需要注意的一点是定位器可能会在不同的浏览器上发生变化,因此在使用Selenium Test Automation创建的测试脚本之前,请务必对其进行验证。
TOC
设置Google Chrome。
上面的Selenium测试自动化脚本也可以在Google Chrome上运行,而无需进行太多的修改。
您需要下载类似于InternetExplorerDriver的ChromeDriver服务器库。该ChromeDriver服务器都是一个独立的服务器,它实现的webdriver的线协议自动化谷歌浏览器。
这个Selenium驱动程序与Windows,Linux和OS X操作系统兼容。您可以使用以下步骤下载CromeDriver服务器:
**一世。**从http://chromedriver.storage.googleapis.com/index.html获取ChromeDriver的最新库。
**II。**解压缩下载的ChromeDriver并将该文件复制到测试脚本所在的相同目录。
**III。**最后,对在Chrome浏览器中打开网站的测试脚本进行以下修改:
适用于Chrome的Selenium Webdriver Python脚本。
执行上述测试脚本后,Selenium将首先启动Chromedriver服务器,启动Chrome浏览器并执行步骤。实际步骤的执行与您在Firefox和Internet Explorer上面看到的非常相似。
TOC
总结 - Selenium Webdriver Python教程。
我们已经尽力使这个Selenium Webdriver Python教程尽可能直观。我们添加的多个示例可以帮助您在使用Python使用Selenium的同时快速找到答案。
但是,如果您想升级到下一个级别,并希望在Selenium Python中创建测试自动化套件,请按照以下教程进行操作。
如果你符合下面的情况中的任意一条,那我十分建议你加入跟着一起学习
1.准备从事编程工作,但是不知道选择什么语言好
2.只掌握了Python基础,缺乏系统性的学习以及企业级项目实战,达不到求职的能力
3.有一定Python基础,但是求职屡屡碰壁,各种问题频繁暴露,甚至怀疑自己不适合做开发
4.准备转行从事开发的同学
5.年满18即可
6.想利用Python副业月入3000-80000
****扫码二维码领取Python学习试学课程+课程咨询!
领取福利加小姐姐微信:SX77661
免费领取学习+课程规划
发表评论
最新留言
关于作者
