当前位置:   article > 正文

Selenium-WEB自动化学习笔记--更新ing_manage_default_content_settings

manage_default_content_settings

DAY1

01PART什么是 web ui 自动化

自动化测试是指通过自动化测试工具或其他手段,按照测试人员的测试计划进行自动测试,目的是减轻手工测试的工作量。

简单来说就是用代码模仿手工操作

1
集中注意点
测试自动化并不是为了赢得老板的赞赏,或者认为这是一个很潮的技术,不用就会落后,而是为了发现问题,提高产品的质量。

UI自动化测试应该集中在:
1)UI的文本,图片显示正确性
2)UI的交互逻辑正确性测试
3)UI上的用户行为正确性测试

2
难点
对比手工UI测试,UI自动化测试有如下的难点:
  1)从UI测试的角度来说,一个非“预期”产生的缺陷很难被自动化测试发现,而手工测试则能轻松的发现这个缺陷;
  2)UI本身的变化性,要想达到和手工测试相同的覆盖率,单纯的UI自动化测试往往很难证明自己的投资回报;
  3)UI控件元素本身识别的复杂性;
  4)UI自动化测试出现问题时,恢复到下一条测试case执行的场景是复杂的。因为出现这种问题的意外,是非“预期”的;
  5)UI的测试case,有很多是关于用户交互方面的,而这方面也其一定的复杂性;

3
什么时候需要进行 ui 自动化测试
从本质上讲,非UI测试和UI测试,是互为补充的,根据其成本和特性的不同,在实际工程应用中也应该领会运用。其基本原则:非UI自动化测试用例为主,UI自动测试为必要的补充,考虑成本因素,UI自动测试可以被手动测试所取代
  1)基本用户场景测试和验收确认(acceptance)测试用例
  2)逻辑与用户界面绑定在的一起,无法绕过UI直接测试核心逻辑模块。

02PARTselenium 与 webdriver

Selenium 是一个用于 Web 测试的工具,测试运行在浏览器中,就像真正的用户在手工操作一样。支持所有主流浏览器
这个工具的主要功能包括:
  1)测试与浏览器的兼容性 ,应用程序是否能够很好地工作在不同浏览器和操作系统之上
  2)测试系统功能,创建回归测试检验软件功能和用户需求

WebDriver 就是对浏览器提供的原生API进行封装,使其成为一套更加面向对象的Selenium WebDriver API。
使用这套API可以操控浏览器的开启、关闭,打开网页,操作界面元素,控制Cookie,还可以操作浏览器截屏、安装插件、设置代理、配置证书等

03PARTHTML 扫盲运动

HTML 元素语法
HTML 元素以开始标签起始
HTML 元素以结束标签终止
元素的内容是开始标签与结束标签之间的内容
某些 HTML 元素具有空内容(empty content)
比如这个,换行标签
空元素在开始标签中进行关闭(以开始标签的结束而结束)
大多数 HTML 元素可拥有属性
HTML 文档由嵌套的 HTML 元素构成
HTML 属性
HTML 元素可以设置属性
属性可以在元素中添加附加信息
属性一般描述于开始标签
属性总是以名称/值对的形式出现,比如:name=“value”
HTML 标准属性参考手册:https://www.runoob.com/tags/ref-standardattributes.html

04PART 环境搭建

1、为 Python 安装 selenium模块,pip install selenium
2、下载对应浏览器驱动
Chromedriver
http://npm.taobao.org/mirrors/chromedriver/
版本对照表:https://blog.csdn.net/BinGISer/article/details/88559532

Firefoxdriver
https://github.com/mozilla/geckodriver/releases
版本对照表:https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html

05PART使用 selenium 访问百度并搜索

反爬虫设置

from selenium import webdriver
options = webdriver.ChromeOptions()

设置为开发者模式,防止被各大网站识别出来使用了Selenium

屏蔽 windows.navigator.webdriver

options.add_experimental_option(‘excludeSwitches’, [‘enable-automation’])

# 不加载图片,加快访问速度

options.add_experimental_option(

“prefs”, {“profile.managed_default_content_settings.images”: 2})

driver = webdriver.Chrome(
    executable_path="/Users/nathaniel/MyApp/lib/seleniumLib/chromedriver",
    options=options)

driver.get("https://www.baidu.com")

driver.quit()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

06PARTui 自动化操作流程
选择界面元素
根据元素的特征:ID,Name,Class,Tag,等
根据元素特征和关系:css,xpath

操作界面元素
输入操作:点击、输入文字、拖拽等
输出操作:获取元素的各种属性

根据界面上获取的数据进行分析和处理

07PART元素定位大法

find_element_by_id:通过ID进行匹配查找,只返回匹配到的一个元素
find_element_by_name:通过name进行匹配查找,只返回匹配到的一个元素
find_element_by_xpath:通过xpath进行匹配查找,只返回匹配到的一个元素
find_element_by_link_text:通过链接内容进行匹配查找,只返回匹配到的一个元素
find_element_by_partical_link_text:通过部分链接内容进行匹配查找,只返回匹配到的一个元素
find_element_by_tag_name:通过标签名称进行匹配查找,只返回匹配到的一个元素
find_element_by_class_name:通过class名称进行匹配查找,只返回匹配到的一个元素
find_element_by_css_selector:通过CSS选择器进行匹配查找,只返回匹配到的一个元素
值得注意的是,上面方法只会匹配查找只会获取第一个元素。除了上面这些查找单个元素的方法之外,Selenium还定义查找多个元素的方法:
find_elements_by_name:通过name进行匹配查找,返回所有匹配到的元素列表
find_elements_by_xpath:通过xpath进行匹配查找,返回所有匹配到的元素列表
find_elements_by_link_text:通过链接内容进行匹配查找,返回所有匹配到的元素列表
find_elements_by_partical_link_text:通过部分链接内容进行匹配查找,返回所有匹配到的元素列表
find_elements_by_tag_name:通过标签名称进行匹配查找,返回所有匹配到的元素列表
find_elements_by_class_name:通过class名称进行匹配查找,返回所有匹配到的元素列表
find_elements_by_css_selector:通过CSS选择器进行匹配查找,返回所有匹配到的元素列表
from selenium import webdriver
import time

创建浏览器驱动

driver = webdriver.Chrome(“D:\tool\selenium\chromedriver.exe”)

访问网址

driver.get(“D:\test\script\study\seleniumStu\day1\test.html”)

“”"

元素定位的第一种方式 css_selector,根据 css 选择器定位

寻找元素

textElement = driver.find_element_by_css_selector(“body > div > p:nth-child(1)”)

打印元素的文本信息

print(textElement.text)
“”"

“”"

元素定位的第二种方式 xpath,根据 xpath 路径定位

寻找元素

textElement = driver.find_element_by_xpath("[表情]ml/body/div/p[2]")

打印元素的文本信息

print(textElement.text)
“”"

“”"

元素定位的第三种方式,根据 id 定位

寻找元素

inputElement = driver.find_element_by_id(“58680504-89fc-42d4-ab86-afc9456f880e”)
inputElement.send_keys(“荀尘”)
“”"

“”"

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/470894
推荐阅读
相关标签
  

闽ICP备14008679号