> 我们可以 使用python通过ssh或者api操作网络设备,但是有时候需要web操作,可以使用selenium来实现自动化操作 # selenium介绍 selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: * 免费,也不用再为破解QTP而大伤脑筋 * 小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G 的程序。 * 这也是最重要的一点,不管你以前更熟悉C、 java、ruby、python、或都是C# ,你都可以通过selenium完成自动化测试,而QTP只支持VBS * 支持多平台:windows、linux、MAC ,支持多浏览器:ie、ff、safari、opera、chrome * 支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。 可以直接通过pip安装selenium ```python pip install selenium ``` ## selenium ide Selenium IDE实现为Firefox扩展,在测试脚本上提供记录和回放功能。 它允许测试人员以HTML,Java,Ruby,RSpec,Python, C# ,JUnit和TestNG等多种语言导出录制的脚本。 可以在Selenium RC或Webdriver中使用这些导出的脚本。 在使用selenium ide后,我们就不需要对html和web前端的便签进行定位操作,简化selenium使用,降低门槛,我们只要吧ide中记录的操作顺序使用脚本写入即可。 selenium同时支持chrome浏览器,下载和使用详细间官网文档 https://www.selenium.dev/selenium-ide/docs/en/introduction/getting-started 完成selnenium ide的chrome插件安装后,如下所示  使用效果如下:  只要记录对应的步骤即可,以下是打开一个baidu搜索的例子    以下就是对应元素的操作记录  ## webdrive Selenium WebDriver是Selenium Tool套件中最重要的组件。 最新版本“Selenium 2.0”与WebDriver API集成,提供更简单,更简洁的编程接口。 在WebDriver中,可以使用任何支持的编程语言开发测试脚本,并且可以在大多数现代Web浏览器中直接运行。WebDriver支持的语言包括C#,Java,Perl,PHP,Python和Ruby  根据自己的浏览器下载对应的webdrive,我用的是chrome https://chromedriver.chromium.org/downloads  # selnium简单使用 # 安装selenium ```shell script pip install selenium ``` ## 测试 创建baidu.py,输入以下内容 ```python from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.baidu.com') print(driver.title) driver.quit() ``` 如果执行报错,需要安装对应驱动 ## selenium3 浏览器驱动 当selenium升级到3.0之后,对不同的浏览器驱动进行了规范。如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动。 Firefox浏览器驱动:geckodriver Chrome浏览器驱动:chromedriver , [taobao备用地址](https://npm.taobao.org/mirrors/chromedriver) IE浏览器驱动:IEDriverServer Edge浏览器驱动:MicrosoftWebDriver Opera浏览器驱动:operadriver PhantomJS浏览器驱动:phantomjs 选择的时候注意要选择与自己的浏览器匹配的版本下载 将下载的文件解压,放在如下位置 unzip chromedriver_linux64.zip /usr/bin/chromedriver 给予执行权限 chmod +x /usr/bin/chromedriver ## selenium 元素定位 提供了8种定位方式 - id - name - class name - tag name - link text - partial link text - xpath - css celector 这8种定位方式在selenium中的对应的方位为 - find_element_by_id() - find_element_by_name() - find_element_by_class_name() - find_element_by_tag_name() - find_element_by_link_text() - find_element_by_partial_link_text() - find_element_by_xpath() - find_element_by_css_selector() ## 定位方法的用法 假如我们有一个Web页面,通过前端工具(如,Firebug)查看到一个元素的属性是这样的。 ```html
微信关注我们
原文链接:https://blog.51cto.com/u_11555417/2901735
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
相关文章
发表评论
资源下载
更多资源优质分享Android(本站安卓app)
近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。
Apache Tomcat7、8、9(Java Web服务器)
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Java Development Kit(Java开发工具)
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
Sublime Text 一个代码编辑器
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。