python web自动化测试实验报告_Python:web自动化测试
用selenium包。
# -*- coding: utf-8 -*-
# 说明: 当前的浏览器驱动用的是edge浏览器.
# 需要下载浏览器驱动,并把它的路径添加到环境变量
from selenium import webdriver
import time
driver = webdriver.Edge()
homepage_url = 'http://10.180.10.93:8000/'
driver.get(homepage_url)
driver.quit()
打开xx页面
nodes = driver.find_elements_by_tag_name('a')
driver.maximize_window()
driver.implicitly_wait(6) # zhe'shi'shen'm
和dom找元素很像
nodes = node[0],然后node.click()模拟鼠标点击。
前进、后退
driver.forward()
driver.back()
if node.get_attribute('target') == '_blank': # 如果是 _target = blank 的话,打开新的选项卡(标签),随后关闭它
node.click()
time.sleep(SLEEPING_SECOND)
assert driver.title == EXPECTED_TITLE
windows = driver.window_handles
driver.switch_to.window(windows[1])
driver.close()
driver.switch_to.window(windows[0])
测试把网页上所有的链接都点一变。
# -*- coding: utf-8 -*-
# 说明: 当前的浏览器驱动用的是edge浏览器.
# 需要下载浏览器驱动,并把它的路径添加到环境变量
from __future__ import print_function
from selenium import webdriver
import time
driver = webdriver.Edge()
homepage_url = 'http://10.180.10.93:8000/'
SLEEPING_SECOND = 1
driver.get(homepage_url)
time.sleep(SLEEPING_SECOND)
url_visited = set()
# 不需要访问的页面
url_filtered = {
'https://www.djangoproject.com/',
'https://purecss.io/',
'https://www.pgadmin.org/',
'http://quantlib.org/index.shtml',
'https://www.pgadmin.org/docs/',
'http://quantlib.org/quantlibaddin/extend_tutorial.html#extend_autogenerate',
'http://quantlib.org/quantlibxl/faq.html#faq_item_debugexcel',
'https://pypi.python.org/pypi',
'https://www.anaconda.com/download/#windows',
'http://quantlib.org/install/vc10.shtml',
'http://quantlib.org/quantlibxl/',
'http://sourceforge.net/projects/boost/files/boost-binaries/',
'https://www.postgresql.org/',
'http://www.cnblogs.com/newpanderking/articles/3372969.html',
'http://www.pgadmin.org/',
'http://quantlib.org/quantlibaddin/build_qlxl.html',
'https://sourceforge.net/p/quantlib/mailman/quantlib-dev/?style=flat&viewmonth=201101',
'http://quantlib.10058.n7.nabble.com/problems-compiling-QuantLibXL-from-td15602.html'
}
EXPECTED_TITLE = 'Homepage of Quant Team One'
def traverse():
print(url_visited)
nodes = driver.find_elements_by_tag_name('a')
if len(nodes) == 0:
return
else:
for i in range(len(nodes)):
print('当前:%s' % driver.current_url)
if 'ErrorStatus=0x800C0005' in driver.current_url:
raise ValueError('站点无法访问')
assert driver.title == EXPECTED_TITLE
nodes = driver.find_elements_by_tag_name('a') # 每次都要重新获取啊 -_-!! 不然要报错: 此节点已过时
node = nodes[i]
url = node.get_attribute("href")
if node.text in ['\n \n \n ']: # 这个超链接是在哪里出现的 -_-!! 好诡异 -_-!
continue
if url in (url_visited | url_filtered): # 不需要访问的页面 (已经访问过的 & 确实不需要访问的)
continue
print('%s, %s' % (node.text, url))
try:
if node.get_attribute('target') == '_blank': # 如果是 _target = blank 的话,打开新的选项卡(标签),随后关闭它
node.click()
time.sleep(SLEEPING_SECOND)
assert driver.title == EXPECTED_TITLE
url_visited.add(url)
windows = driver.window_handles
driver.switch_to.window(windows[1])
driver.close()
driver.switch_to.window(windows[0])
else:
node.click()
time.sleep(SLEEPING_SECOND)
assert driver.title == EXPECTED_TITLE
url_visited.add(url)
traverse()
driver.back()
except Exception as e:
print(e)
pass
url_visited.add(driver.current_url)
traverse()
driver.quit()
python web自动化测试实验报告_Python:web自动化测试相关推荐
- 为网站配置web服务器实验报告,配置web服务器实验报告.docx
文档介绍: 配置web服务器实验报告实验报告专业班级成绩评定_______学号姓名教师签名_______实验题目配置和管理Web服务器实验时间一.实验目的: 1.掌握Web服务器的基本配置方法.2.学 ...
- python画图程序实验报告_Python绘图简明教程
前言 本文纯科普向. 主要介绍一下Python上最好用的2D图形绘制库matplotlib的安装以及一些基础操作. 选择Python是因为其强大的第三方库和优秀便捷的语法,并且能方便地对数据进行后续处 ...
- python词频统计实验报告_Python实验报告八
安徽工程大学Python程序设计 班级:物流191 姓名:汤振宇 学号:319050108 成绩: 日期:2020/06/04 指导老师:修宇 [实验目的] : 掌握读写文本文件或 CSV 文件,进而 ...
- python顺序结构实验报告_Python 数据结构 之 串 的顺序存储结构
本文所采用的数据结构模板为 <数据结构教程>C语言版,李春葆.尹为民等著. 改篇所涉及到的是 串 的顺序存储结构. 用Python仿照C语言来实现. 代码地址: 串 的顺序存储结构: # ...
- python股票数据分析实验报告_Python实验报告
一. 实验原理 ( 要求.任务等 ) (一).Python的开发环境 Python诞生于20世纪90年代初,是一种解释型.面向对象.动态数据类型的高级程序设计语言,是最受欢迎的程序设计语言之一. 编写 ...
- python词云图实验报告_Python实现Wordcloud生成词云图的示例
wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概. 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前 ...
- python网络爬虫实验报告_Python网络爬虫实例讲解
聊一聊Python与网络爬虫. 1.爬虫的定义 爬虫:自动抓取互联网数据的程序. 2.爬虫的主要框架 爬虫程序的主要框架如上图所示,爬虫调度端通过URL管理器获取待爬取的URL链接,若URL管理器中存 ...
- python弹球游戏实验报告_Python实战案例:用Python写一个弹球游戏,就是这么强
我们前面讲了几篇关于类的知识点,为了让大家更好的掌握类的概念,并灵活的运用这些知识,我写了一个有趣又好玩的弹球的游戏,一来可以把类的知识融会一下,二来加深对Python的兴趣.你会发现哎呀Python ...
- python设计计算器实验报告_Python实验-计算器
一 从字符串中提取 Token 的步骤是顺序读取字符,判断字符类型,然后把 Token 的类型和值存入 Token 列表. 输入字符串处理 提取offset位置处的一个字符 如果没有后续字符则返回No ...
最新文章
- 初学者怎么学单片机,嵌入式单片机培训机构有用吗?
- 第三次学JAVA再学不好就吃翔(part82)--泛型
- shell编程系列20--文本处理三剑客之awk常用选项
- 双向@OneToMany / @ManyToOne关联
- 论文小综 | 知识图谱中的复杂查询问答
- sharepoint_study_7
- 带有控制器,方法,标题,参数,@ RequestParam,@ PathVariable的Spring MVC @RequestMapping注释示例
- java迭代器怎么用_Java中迭代器的使用
- GalleryView禁止选中项目向中间滑动
- windows ping 端口测试
- 生产制造企业用的ERP系统——流程管理
- 随笔杂记(十)——C++:C4996报错解决方法
- pytorch 高光谱图像分类
- PCI-DSS安全认证
- Oracle11G的数据库数据导入导出(由11g上导出导入10g数据库等)
- 一个带展开按钮的TextView控件
- 用好Eclipse Task功能
- 训练样本制作--Annotating Object Instances with a Polygon-RNN
- android 新驱动安装教程视频教程,一教即会新人必备 adb驱动安装教程
- 玩转太极链DAPP,就看这里
热门文章
- java中如何设计答题小系统_java的一点问题,设计一个答题的程序
- php判断字符串中是否包含某字符串
- 依据地图上的经纬度坐标计算某个点到多边形各边的距离
- MSP430F5529 DriverLib 库函数学习笔记(十)SPI驱动墨水屏
- Taro+react开发(79):taro生命周期setstate异步
- 前端学习(3302):类组件父组件和子组件createRef
- 前端学习(2608):vuex的介绍
- 前端学习(1953)vue之电商管理系统电商系统之根据父类数据处理表单中的数据
- 前端学习(1896)vue之电商管理系统电商系统之修改用户状态
- mybatis学习(22):查询排序