这是我的第一个真正意思上的自动化脚本。

1、练习的测试用例为:

打开百度首页,搜索“胡歌”,然后检索列表,有无“胡歌的新浪微博”这个链接 2、在写脚本之前,需要明确测试的步骤,具体到每个步骤需要做什么,既拆分测试场景,考虑好之后,再去写脚本。

此测试场景拆分如下:

1)启动Chrome浏览器

2)打开百度首页,https://www.baidu.com

3)定位搜索输入框,输入框元素XPath表达式://*[@id=”kw”]

4)定位搜索提交按钮(百度一下)://*[@id=”su”]

5)在搜索框输入“胡歌”,点击百度一下按钮

6)在搜索结果列表判断是否存在“胡歌的新浪微博”这个链接

7)退出浏览器,结束测试

【注】chrome获取XPath路径步骤如下:

1)在你打开的网页(如:百度首页),按F12,弹出如下窗口

2)点击左上角箭头按钮(或Ctrl + Shift + C),此时可以在页面上移动光标,查看对应的代码,如移动到百度搜索框,显示如下:

点击一下,对应代码就会选中

然后,右击copy–>copy path 复制到XPath路径。

3、代码如下:

import time

from selenium import webdriver

'''

测试用例:打开百度首页,搜索“胡歌”,然后检索列表,有无“胡歌的新浪微博”这个链接

场景拆分:

1)启动Chrome浏览器

2) 打开百度首页,https://www.baidu.com

3)定位搜索输入框,输入框元素XPath表达式://*[@id="kw"]

4)定位搜索提交按钮(百度一下)://*[@id="su"]

5)在搜索框输入“胡歌”,点击百度一下按钮

6)在搜索结果列表判断是否存在“胡歌的新浪微博”这个链接

7)退出浏览器,结束测试

'''

driver = webdriver.Chrome()

driver.maximize_window()

driver.implicitly_wait(8) # 设置隐式等待时间

driver.get("https://www.baidu.com") # 地址栏里输入网址

driver.find_element_by_xpath('//*[@id="kw"]').send_keys("胡歌") # 搜索框输入胡歌

driver.find_element_by_xpath('//*[@id="su"]').click() # 点击百度一下按钮

time.sleep(2) # 等待2秒

# 通过元素XPath来确定该元素是否显示在结果列表,从而判断“壁纸”这个链接是否显示在结果列表

# find_element_by_link_text当找不到此链接时报错,程序停止

driver.find_element_by_link_text('胡歌的新浪微博').is_displayed()

driver.quit()

补充知识:python + selenium自动化测试--页面操作

1、刷新当前页面

.refresh()

# 刷新当前页面

driver.refresh()

2、获取本页面的URL

.current_url

用处:

一般URL可以帮助我们判断跳转的页面是否正确,或者URL中部分字段可以作为我们自动化测试脚本期待结果的一部分。

print(driver.current_url)

3、页面标题

获取当前页面标题

.title

# 获取当前页面标题显示的字段

print(driver.title)

断言页面标题

# 1) 包含判断

# assert:断言,声称

try:

assert "百度一下" in driver.title

print("断言测试成功.")

except Exception as e:

print("断言失败.",format(e))

# 2) 完全相等判断

if "百度一下,你就知道" == driver.title:

print("成功.")

else:

print("失败.")

print(driver.title)

4、新建标签页

用js实现如下:

try:

# 新标签页,此处用js实现,在有些博客上显示使用

# driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL, 't')

# 我这测试无效,原因不知,于是采用如下方法

js = "window.open('http://www.acfun.cn/')"

driver.execute_script(js)

# 切换到新的窗口

handles = driver.window_handles # 获取窗口句柄

driver.switch_to.window(handles[-1]) # 切换到最后一个既最新打开的窗口

# 先切换窗口再打开新网址,才是在新窗口打开网址,不然还是在原来的百度页面打开此网址

driver.get('http://map.baidu.com/')

except Exception as e:

print("发现异常,",format(e))

5、页面前进、后退

前进: .forward()

后退: .back()

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

time.sleep(2)

'''前进,后退'''

elem_news = driver.find_element_by_link_text("新闻").click() # 点击进入新闻

time.sleep(2)

driver.back() # 后退到百度首页

time.sleep(2)

driver.forward() # 从百度前进到新闻页

time.sleep(2)

6、获取浏览器版本号

.capabilities[‘version']

# 获取浏览器版本号

"""

Creates a new session with the desired capabilities.

:Args:

- browser_name - The name of the browser to request.

- version - Which browser version to request.

- platform - Which platform to request the browser on.

- javascript_enabled - Whether the new session should support JavaScript.

- browser_profile - A selenium.webdriver.firefox.firefox_profile.FirefoxProfile object. Only used if Firefox is requested.

"""

print(driver.capabilities['version'])

以上这篇python+Selenium自动化测试——输入,点击操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。

python写界面输入测试脚本,python+Selenium自动化测试——输入,点击操作相关推荐

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

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

  2. python教程点击器_python+Selenium自动化测试——输入,点击操作

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

  3. python接收微信消息_【Python写微信防撤回脚本】02 接收记录聊天信息

    上一期我们安装好了ItChat,并且学会用它登录微信.想知道它还能做什么?往下滑吧~ 接收好友信息 利用ItChat登录微信之后,我们就可以自动记录好友发来的信息. 话不多说,直接上代码: impor ...

  4. 用Python写界面

    1.用Python写界面–上位机开发 tkinter:https://blog.csdn.net/shuduaa/article/details/80423650 tkinter有点不好用 PyQt5 ...

  5. 孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1

    孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1 (完整学习过程屏幕记录视频地址在文末) 要模拟进行浏览器操作,只用requests是不行的,因此今天了解到有专门的解决方案 ...

  6. 吃鸡是python写的吗_吃鸡游戏也是用Python写的?学了Python,120个月年终奖向你招手~...

    原标题:吃鸡游戏也是用Python写的?学了Python,120个月年终奖向你招手~ 吃鸡游戏火爆全球,已经把腾讯的<王者荣耀>都比下去了,有传言,腾讯给"王者荣耀"开 ...

  7. Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题

    之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章 Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式 Py ...

  8. python写淘宝秒杀脚本_python实现淘宝秒杀脚本

    本文实例为大家分享了python实现淘宝秒杀脚本的具体代码,供大家参考,具体内容如下 1.安装pycharm.网上教程很多. 2.安装 Selenium 库. Selenium支持很多浏览器,我选择的 ...

  9. 用python写一个抢购的脚本

    好的,这是用 Python 写的一个抢购的脚本的示例: import requestsdef main():# 在这里输入你的抢购商品的 URLurl = "http://www.examp ...

最新文章

  1. ping 不通容器 宿主_使用容器的正确方式,Docker在雪球的技术实践
  2. 安卓期末作品小项目_北京部编版八年级上册语文期末试卷
  3. 学习方法之04提取练习,永远都不会忘的记忆方法
  4. docker构建oracle集群,docker 构建 oracle数据库 镜像-Go语言中文社区
  5. 「技术人生」第2篇:学会分析事物的本质
  6. TensorFlow12CIFAR-CNN实现
  7. 2018.7.3 JS实现增删改查没有连接数据库
  8. 华为入局 VR 眼镜能让 VR 早普及几年?|CSDN博文精选
  9. android:图片裁剪
  10. Win11系统线程异常未处理怎么办?Win11系统线程异常未处理解决方法
  11. android 微信布局 字体,【Android】底部Tab+ViewPager(仿微信界面)
  12. 电脑上玩和平精英_和平精英奇幻之旅怎么玩-和平精英奇幻之旅玩法攻略
  13. 44. 将样式表放在顶部(5)
  14. sklearn.preprocessing.StandScaler
  15. 高并发解决方案相关面试题
  16. 单片机用c语言怎么把i/o数据显示到lcd1602上,单片机lcd1602程序,通用型51单片机lcd1602驱动代码...
  17. Python坐标系转换
  18. python处理excel——创建excel工作簿和工作表并录入信息(openpyxl库)
  19. 学Python爬虫,就得从爬高清美图开始!
  20. 第26周-window程序设计(基础篇)-第5章(图形基础)-边界框及LINDEMO.C

热门文章

  1. Tesseract OCR+Tess4j实现图片中英文识别
  2. UML中关联关系和依赖关系的区别
  3. Python中的JSON简介
  4. 【OAuth2】详细讲解
  5. java基础多线程抢红包_Java实现抢红包功能
  6. FileInputStream、FileDescriptor源码学习
  7. Midjourney从入门到精通
  8. HttpEntity接口的详细解释与应用
  9. 常见造成内存泄露的原因
  10. Android 7.1.2上默认wifi链接之后实际能上网却一直显示不能上网问题