今天想跟大家分享的是:关于selenium的自动化测试一些基础的东西

安装环境

1.Python环境

安装完成后通过Windows命令提示符CMD输入“python”,查看是否安装成功

2.安装setuptools与pip

setuptools是PEAK(
PythonenterpriseApplicationKit)的一个副项目,是python的distutilsde的增强工具,可以更方便创建和发布python包,特别是对其他包有依赖的情况;

pip是一个安装和管理python包的工具,通过pip来安装python包将变得很简单,省去了繁琐的过程,pip的安装依赖于setuptools,安装pip之前需要先安装setuptools;

3.下载selenium包

pipinstallselenium

4.下载浏览器驱动

火狐和谷歌各有各的驱动

下载链接:
https://www.seleniumhq.org/do…

简单示例

示例名称:test_python_org_search.py

importunittest

#引入unittest模块是基于JAVAJUnit的Python内置的模块。该模块提供了一个框架

去组织测试用例

fromseleniumimportwebdriver

#selenium.webdriver模块提供了所有WebDriver的实现

fromselenium.webdriver.common.keysimportKeys

#Keys类提供所有的键盘按键操作

classPythonOrgSearch(unittest.TestCase):

#测试类继承自unittest.TestCase.继承TestCase类是告诉unittest模块该类是一个

测试用例

defsetUp(self):

self.driver=webdriver.Firefox()

#SetUp方法是初始化的一部分,创建了一个FirefoxWebDriver的一个实例

deftest_search_in_python_org(self):

driver=self.driver

driver.get(“http://www.python.org”)

#driver.get方法将会根据方法中给出的URL地址打开该网站

self.assertIn(“Python”,driver.title)

#使用assert断言的方法判断在页面标题中是否包含“Python”

elem=driver.find_element_by_name(“q”)

#找到name为q的DOM节点

elem.send_keys(“pycon”)

#在name为q的DOM节点中,输入pycon

elem.send_keys(Keys.RETURN)

#按enter键

assert"Noresultsfound."notindriver.page_source

deftearDown(self):

self.driver.close()

#tearDown方法会在每一个测试方法执行之后被执行。该方法可以用来做一些清扫工作,比如关闭浏览器。当然你也可以调用quit方法代替close方法

#区别:quit将关闭整个浏览器,而close只会关闭一个标签页

if__name__==“main”:

unittest.main()

#入口函数

可直接在shell中运行:
pythontest_python_org_search.py

常用方法讲解

1.打开一个页面

driver.get(“http://www.baidu.com”)

WebDriver将等待,直到页面完全加载完毕(其实是等到onload方法执行完毕),然后返回继续执行你的脚本。值得注意的是,如果你的页面使用了大量的Ajax加载,WebDriver可能不知道什么时候页面已经完全加载。

2.与页面交互

WebDriver提供了大量的方法帮助你去查找元素,例如

<inputtype="text"name="passwd"id=“passwd-id”/>

可通过以下方法查找:

element=driver.find_element_by_id(“passwd-id”)

element=driver.find_element_by_name(“passwd”)

element=driver.find_element_by_xpath("//input[@id=‘passwd-id’]")

你还可以通过链接的文本查找他,需要注意的是,这个文本必须完全匹配。当你使用XPATH时,你必须注意,如果匹配超过一个元素,只返回第一个元素。如果上面也没找到,将会抛出NoSuchElementException异常。

执行一些操作,例如

在文本框中输入一些内容:element.send_keys(“sometext”)

清除内容:element.clear()

选择下拉框:WebDriver的支持类有一个叫做Select的类

fromselenium.webdriver.support.uiimportSelect

select.select_by_index(index)根据option的顺序

select.select_by_visible_text(“text”)根据文本

select.select_by_value(value)根据它的value值

取消选择:select.deselect_all()

提交选择:element.submit()

3.拖放

element=driver.find_element_by_name(“source”)

target=driver.find_element_by_name(“target”)

fromselenium.webdriverimportActionChains

action_chains=ActionChains(driver)

action_chains.drag_and_drop(element,target).perform()

4.弹出对话框处理方式

alert=driver.switch_to_alert()

switch_to_alert()#定位弹出对话

text()#获取对话框文本值

accept()#相当于点击"确认"

dismiss()#相当于点击"取消"

send_keys()#输入值,这个alert和confirm没有输入对话框,所以这里就不能用了,所以这里只能使用在prompt这里。

5.操作cookie

打开一个页面driver.get(“http://www.example.com”)

现在设置Cookies,这个cookie在域名根目录下(”/”)生效cookie={‘name’:‘foo’,‘value’:‘bar’}driver.add_cookie(cookie)

现在获取所有当前URL下可获得的Cookiesdriver.get_cookies()

6.查找元素

find_element_by_id

find_element_by_name

find_element_by_xpath

find_element_by_link_text

find_element_by_partial_link_text

find_element_by_tag_name

find_element_by_class_name

find_element_by_css_selector

最后:【可能给予你帮助】

这些资料,对于考虑【软件测试】技能进阶的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你

关注我的微信公众号【程序媛木子】免费获取

我的学习交流群:644956177群里有技术大牛一起交流分享~

干货||Selenium自动化测试网页相关推荐

  1. Selenium自动化测试网页加载太慢怎么办

    遇到网页加载慢,selenium运行效率降低,可以通过修改页面加载策略提升自动化效率. selenium加载很慢 通过URL导航到新页面时,默认情况下,Selenium将等待文档完全被加载才会执行下面 ...

  2. python Chrome + selenium自动化测试与python爬虫获取网页数据

    一.使用Python+selenium+Chrome 报错: selenium.common.exceptions.SessionNotCreatedException: Message: sessi ...

  3. python写界面输入测试脚本_python+Selenium自动化测试——输入,点击操作

    这是我的第一个真正意思上的自动化脚本. 1.练习的测试用例为: 打开百度首页,搜索"胡歌",然后检索列表,有无"胡歌的新浪微博"这个链接 2.在写脚本之前,需要 ...

  4. selenium自动化测试_49自动化测试中最常见的Selenium异常

    selenium自动化测试 开发人员将始终在编写代码时牢记不同的场景,但是在某些情况下,实现可能无法按预期工作. 相同的原则也适用于测试代码,该代码主要用于测试现有产品的功能,发现bug并确保产品10 ...

  5. selenium自动化测试_Selenium测试可实现有效的测试自动化

    selenium自动化测试 尽管移动应用程序的市场份额有大幅增长,但网络应用程序仍然具有大量的用户基础. 在部署之前,企业正在关注Web应用程序的质量. 这是测试发挥重要作用的地方. 与某些可以自动化 ...

  6. selenium自动化测试_使用Selenium自动化测试处理多个浏览器选项卡

    selenium自动化测试 使用Selenium进行自动化测试一直是将萌芽的自动化测试人员培养为专业人员的生命线. Selenium是开源的,在全球范围内被广泛采用. 结果,您会得到社区的大力支持. ...

  7. 使用Selenium自动化测试处理多个浏览器选项卡

    使用Selenium进行自动化测试一直是将萌芽的自动化测试人员培养为专业人员的生命线. 硒是开源的,在全球范围内被广泛采用. 结果,您会得到社区的大力支持. 有多种用于不同语言的框架,这些框架提供与S ...

  8. Selenium自动化测试系列文章汇总

    selenium系列文章汇总 Selenium自动化测试-selenium介绍及环境安装 Selenium自动化测试-浏览器基本操作 Selenium自动化测试-元素定位(1) Selenium自动化 ...

  9. Selenium自动化测试-JavaScript定位

    ------·今天距2020年37天·------ 这是ITester软件测试小栈第83次推文 做自动化过程中,会发现有的按钮点击不了,或者点击没有反应,也没有报错,或者不能处理滚动条等场景,我们可以 ...

最新文章

  1. 授予数据库账号dba权限_从自建Oracle迁移至云原生数据仓库AnalyticDB PostgreSQL
  2. Boost:额外的bimap的测试程序
  3. C语言字符串相关一级指针内存模型
  4. nginx + Lua 实现自定义WAF
  5. hadoop启动碰到java.net.UnknownHostException
  6. 解决VS2010自带的C/C++编译器CL找不到mspdb100.dll的问题
  7. 2020年计算机二级access考试大纲,2020年全国计算机二级ACCESS考试分析与小结(7页)-原创力文档...
  8. phpFreeChat 2.0.0 发布,Web 聊天室
  9. 用python解方程和微积分
  10. win10pe命令打开计算机,手把手教你如何制作win10PE启动盘
  11. ae教程 (四)运动控制 (三)
  12. 【光纤通信】实验二、C语言实现HDB3编码
  13. 当不知轴承型号时如何寻找轴承故障频率_在工业自动化应用场景中的机械故障类型以及诊断方法...
  14. 验证码 工具 Kaptcha 配置参数
  15. 深度学习-各类数据集汇总
  16. 制作一个网站需要工具, 步骤
  17. 谈谈JavaScript版本演进史及ES3、ES5区别和特性
  18. Deepin系统安装摄像头驱动
  19. P4556 雨天的尾巴 线段树合并
  20. VO,DTO,BO,POJO,PO的概念介绍

热门文章

  1. KeyMob--移动广告聚合平台界的黑马
  2. zz 跟风小结一下孕期~
  3. 解决布线困难的小方法-----无线路由器变身交换机
  4. 多线程之旅七——GUI线程模型,消息的投递(post)与处理
  5. 842. 将数组拆分成斐波那契序列
  6. 推荐系统基础之介绍入门篇
  7. java共同方法_java-现有公共方法的NoSuchMethodError
  8. dockerfile安装oracle,docker通过Dockerfile安装oracle-12c数据库
  9. 机器视觉:HDR技术
  10. Proxy pattern-代理模式