selenium学习笔记(加入unittest)
利用firefox浏览器的selenium IDE可以直接生成webdriver+unittest的python脚本
当然博主是要为了自己编写脚本、对用例内容进行了修改,把元素校验功能也放入了用例中
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from time import sleep class SeleniumIde(unittest.TestCase):
def setUp(self):
print "自动化测试用例执行开始"
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
# 智能等待30S
self.Errors = []
# 错误信息列表 def tearDown(self):
self.driver.quit()
self.assertEqual([], self.Errors)
# 检查错误信息列表 若不为空则返回显示
print "自动化测试用例执行结束" def compare_title(self, ta, tb):
if ta == tb:
print "Testcase_title: pass"
else:
print "Testcase_title: false"
# 比较title显示结果 def compare_url(self, ua, ub):
if ua == ub:
print "Testcase_url: pass"
else:
print "Testcase_url: false"
# 比较url显示结果 def test_login(self):
driver = self.driver
driver.get("http://www.cnblogs.com/")
# 测试地址 后面可以添加响应地址
driver.find_element_by_css_selector("a[onclick = 'login();return false']").click()
driver.find_element_by_css_selector("input[type = 'text']").click()
driver.find_element_by_css_selector("input[type = 'text']").send_keys(u"堕落的伊丝莉")
# 这里用户名由于是中文前面要加 u
driver.find_element_by_css_selector("input[type = 'password']").click()
driver.find_element_by_css_selector("input[type = 'password']").send_keys("xxxxxx")
# 输入密码、密码当然按照实际内容添加
driver.find_element_by_css_selector("input[type = 'submit']").click()
sleep(2) SeleniumIde.compare_title(self, driver.title, u"博客园 - 开发者的网上家园")
SeleniumIde.compare_url(self, driver.current_url, "http://www.cnblogs.com/")
try:
driver.find_element_by_css_selector("a[href = 'http://home.cnblogs.com/u/cllovewxq/']")
# 验证是否可以在页面元素中查找到当前登录状态
print "Testcase_result: pass"
except NoSuchElementException as e:
print "Testcase_result: false" if __name__ == "__main__":
unittest.main()
加入了一些代码注释方便理解
博主这也是看了大神博客中关于selenium的讲解
这里附上地址:
http://www.cnblogs.com/fnng/p/3300788.html
selenium学习笔记(加入unittest)的更多相关文章
- Python+Selenium学习笔记16 - unittest单元测试框架
unittest单元测试框架包括 Test Case, Test Suite, Test Runner, Test Fixture Test Cases 组成Test Suite, Test Run ...
- Selenium 学习笔记(一)
selenium 学习整理 初学者,如果有不当得地方请指出,非常感谢. 准备事项: 1. Python 安装包 安装Python,并勾选添加环境变量. 安装完成后,打开dos窗口,输入python,看 ...
- selenium 学习笔记 ---新手学习记录(1) 问题总结
说明:每次学习各种语言时,环境搭建访问国外网址最头疼了,现在只要是工具下载好放到自己网盘,可以随时用. 1.首先工具准备,selenium需要用到的 下载地址 访问密码 ff8f 2.我选择的语言时j ...
- selenium学习笔记(HTMLTestRunner测试报告)
之前提到selenium加入unittest框架.可以引入HTMLTestRunner扩展.以此来生成测试报告 首先是分享下载的百度云地址 http://pan.baidu.com/s/1pKUItW ...
- selenium学习笔记(selenium IDE下载安装)
今天自己一直在瞎捣鼓 最后这里整理下 selenium IDE 这个录制工具的下载安装 首先这个工具只支持火狐浏览器firefox.使用火狐浏览器进入selenium官网: http://www.se ...
- selenium学习笔记(简单的元素定位)
收拾一下心情开始新的一周工作 继续是selenium的学习.配置成功后 由于所有操作都是建立在页面元素基础上的.所以下来就是学习定位元素 首先是基础的定位.就使用博客园首页搜索框为例: 下面是代码: ...
- selenium学习笔记(selenium下载安装)
博主自己捣鼓的接口框架先到这里 等工作上正式开始使用再后续完善需求 还是继续学习python.学编程就直接动手写 就想看看python+selenium的组合 什么都不多说.先下载安装 博主这里已经安 ...
- Selenium学习笔记(1) - 自动化测试体系与原理
技术体系 基于代码的测试(Code-Based Testing) 基于协议的测试(Protocol-Based Testing) 基于界面的测试(GUI-Based Testing) 工作原理 基于代 ...
- Python+Selenium学习笔记17 - HTML测试报告
运行少量case时 1 # coding = utf-8 2 3 from selenium import webdriver 4 import unittest 5 import time 6 fr ...
随机推荐
- Tornado实战
抽屉之Tornado实战(1)--分析与架构 抽屉之Tornado实战(2)--数据库表设计 抽屉之Tornado实战(3)--注册 抽屉之Tornado实战(4)--发帖及上传图片 抽屉之Torna ...
- 【我的Android进阶之旅】 Android Studio插件之Jenkins插件介绍
一Jenkins插件功能介绍 1Jenkins任务列表 2切换Jenkins分组 3构建Jenkins任务 4进入构建Jenkins任务的页面 5进入最后一次构建Jenkins任务的页面 6增加Jen ...
- 我的Android进阶之旅------>解决:debug-stripped.ap_' specified for property 'resourceFile' does not exist.
1.错误描述 更新Android Studio到2.0版本后,出现了编译失败的问题,我clean project然后重新编译还是出现抑郁的问题,问题具体描述如下所示: Error:A problem ...
- docker安装升级linux内核(2.6.32->3.10.81)
.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 y ...
- 000 初步使用Kotlin开发Android应用
Kotlin是Jetbrians公司开发的一款编程语言,基于jvm兼容Java. 要求 IDE:IDEA或者Android Studio(简称studio)对Kotlin语言有所了解,官方文档:htt ...
- mybatis分享
Mybatis入门 一.Mybatis环境搭建及简单实例 pom.xml mybatis-config.xml <?xml version="1.0" encoding=&q ...
- qt下通过socket传送中文
zz 1.在main函数里我之前就加了一句QTextCodec::setCodecForTr( QTextCodec::codecForLocale() ); 现在再加一句QTextCodec::se ...
- 为Windows窗口标题栏添加新按钮
为Windows窗口标题栏添加新按钮 对于我们熟悉的标准windows窗口来讲,标题栏上一般包含有3个按钮,即最大化按钮,最小化按钮和关闭按钮.你想不想在Windows的窗口标题栏上添加一个新的自 ...
- Linux Shell编程第3章——正则表达式
目录 正则表达式基础 正则表达式的扩展 通配 grep命令 正则表达式基础 Linux Shell以字符串作为表达式向系统传达意思.元字符(Metacharacters)是用来阐述字符表达式意义的字符 ...
- Java分布式:JWT(JSON Web Tokens)
Java分布式:JWT(JSON Web Tokens) 0.优势 Session方式存储用户状态占用大量服务器内存.一般而言,大型应用还需要借助一些KV数据库和一系列缓存机制来实现Session的存 ...