My_Project

资料整理


Selenium API基础

<p><strong>1.介绍</strong></p> <pre><code>1)API就是使用的selenium2.0主推的webdriver 2)3.0继续要用这套API 3)移动端功能测试用到的appium其实就是对selenium的再封装</code></pre> <p><strong>2.创建浏览器</strong></p> <pre><code>1)库的导入 from selenium import webdriver 2)创建浏览器对象 driver = webdriver.firefox() 使用dir(driver)查看方法 3)浏览器尺寸相关操作 maximize_window() //最大化 get_window_size() //获取浏览器尺寸 set_window_size() //设置浏览器尺寸 案例:脚本操作打开一个测试浏览器,并调整其大小 4)浏览器位置相关操作 get_window_position() //获取浏览器位置 set_window_position(x,y) //设置浏览器位置 注:显示器以左上角为(0,0),所有的位置操作都是相对于显示器左上角展开的位移操作,单位是像素。 5)浏览器的关闭操作 close() //关闭当前标签/窗口 quit() //关闭所有标签/窗口</code></pre> <p><strong>3.页面操作</strong></p> <p>1)url的格式:</p> <pre><code>形式:scheme://host[:port#]/path/…/[?query-string][#anchor] scheme:协议(例如:http, https, ftp) host:服务器的IP地址或者域名 port:服务器的端口(如果是走协议默认端口,80 or 443) path:访问资源的路径 http://www.cnblogs.com/be-saber/p/4734951.html query-string:参数,发送给http服务器的数据,参数使用&amp;隔开 anchor:锚(跳转到网页的指定锚点位置) https://detail.tmall.com/item.htm?id=545181862652</code></pre> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/98810e5850216bdd83962603467546cd?showdoc=.jpg" alt="" /></p> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/1efd2a2af8ce82d20707bb531c4d2ac5?showdoc=.jpg" alt="" /></p> <p>2)页面请求操作</p> <pre><code>driver.get(url) //请求某个url对应的响应 refresh() //刷新页面操作 back() //回退到之前的页面 forward() //前进到之后的页面 案例 1)访问 http://www.baidu.com 2)访问 https://zhuanlan.zhihu.com/ 3)回退 4)前进</code></pre> <p><strong>4.断言信息</strong></p> <pre><code>4.1 概念: 断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。 4.2 获取断言信息的操作: current_url //获取当前访问页面url title //获取当前浏览器标题 get_screenshot_as_png() //自己写文件,保存图片到内存中 get_screenshot_as_file(file) //自动写文件,直接保存在当前脚本运行目录(也可指定) page_source //网页源码</code></pre> <p><strong>5.WebDriver</strong></p> <p>5.1 概念</p> <pre><code>1. Webdriver (Selenium2)是一种用于Web应用程序的自动测试工具; 2. 它提供了一套友好的API; 接口有接口的API,库有库的API; 3. Webdriver完全就是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动; 说明:API:应用编程接口说明(WebDriver类库内封装非常多的方法,要使用这些方法,就需要友好的调用命名规则)</code></pre> <p>5.2 WebDriver API支持的浏览器</p> <pre><code>1. Firefox (FirefoxDriver)【推荐-本阶段学习使用】 2. IE(InternetExplorerDriver) 3. Opera(OperaDriver) 4. Chrome (ChromeDriver) 5. safari(SafariDriver) 6. HtmlUnit (HtmlUnit Driver) 提示: Firefox、Chrome:对元素定位和操作有良好的支持,同时对JavaScript支持也非常好; IE:只能在windows平台运行,所有浏览器中运行速度最慢; HtmlUnit:无GUI(界面)运行,运行速度最快;</code></pre> <p>5.3 WebDriver API支持的开发语言</p> <pre><code>官网文档:https://docs.seleniumhq.org/docs/03_webdriver.jsp 1. Java 2. Python 3. PHP 4. JavaScript 5. Perl 6. Ruby 7. C#</code></pre> <p><strong>6.WebDriver-元素定位</strong> <a href="https://www.showdoc.cc/lkr?page_id=3777281209607722">https://www.showdoc.cc/lkr?page_id=3777281209607722</a></p> <p><strong>7.WebDriver-元素操作</strong></p> <p>7.1 说明 对元素的相关操作,一般要先获取到元素,再调用相关方法:element = driver.find_element_by_xxx(value) 7.2 操作 7.2.1 点击和输入</p> <pre><code>点击操作: element.click() 清空/输入操作(只能操作可以输入文本的元素): element.clear() //清空输入框 element.send_keys(data) //输入数据</code></pre> <p>7.2.2 提交操作</p> <pre><code>element.submit() 案例: 1.打开chrome搜索 2.搜索关键字 selenium 3.清空 4.搜索python</code></pre> <p>7.2.3 获取元素信息</p> <pre><code>获取文本内容(既开闭标签之间的内容): element.text 获取属性值(获取element元素的value属性的值): element.get_attribute(value) 获取元素尺寸(了解): element.size 获取元素是否可见(了解): element.is_dispalyed()</code></pre>

页面列表

ITEM_HTML