利用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)的更多相关文章

  1. Python+Selenium学习笔记16 - unittest单元测试框架

    unittest单元测试框架包括 Test Case,  Test Suite, Test Runner, Test Fixture Test Cases 组成Test Suite, Test Run ...

  2. Selenium 学习笔记(一)

    selenium 学习整理 初学者,如果有不当得地方请指出,非常感谢. 准备事项: 1. Python 安装包 安装Python,并勾选添加环境变量. 安装完成后,打开dos窗口,输入python,看 ...

  3. selenium 学习笔记 ---新手学习记录(1) 问题总结

    说明:每次学习各种语言时,环境搭建访问国外网址最头疼了,现在只要是工具下载好放到自己网盘,可以随时用. 1.首先工具准备,selenium需要用到的 下载地址 访问密码 ff8f 2.我选择的语言时j ...

  4. selenium学习笔记(HTMLTestRunner测试报告)

    之前提到selenium加入unittest框架.可以引入HTMLTestRunner扩展.以此来生成测试报告 首先是分享下载的百度云地址 http://pan.baidu.com/s/1pKUItW ...

  5. selenium学习笔记(selenium IDE下载安装)

    今天自己一直在瞎捣鼓 最后这里整理下 selenium IDE 这个录制工具的下载安装 首先这个工具只支持火狐浏览器firefox.使用火狐浏览器进入selenium官网: http://www.se ...

  6. selenium学习笔记(简单的元素定位)

    收拾一下心情开始新的一周工作 继续是selenium的学习.配置成功后 由于所有操作都是建立在页面元素基础上的.所以下来就是学习定位元素 首先是基础的定位.就使用博客园首页搜索框为例: 下面是代码: ...

  7. selenium学习笔记(selenium下载安装)

    博主自己捣鼓的接口框架先到这里 等工作上正式开始使用再后续完善需求 还是继续学习python.学编程就直接动手写 就想看看python+selenium的组合 什么都不多说.先下载安装 博主这里已经安 ...

  8. Selenium学习笔记(1) - 自动化测试体系与原理

    技术体系 基于代码的测试(Code-Based Testing) 基于协议的测试(Protocol-Based Testing) 基于界面的测试(GUI-Based Testing) 工作原理 基于代 ...

  9. Python+Selenium学习笔记17 - HTML测试报告

    运行少量case时 1 # coding = utf-8 2 3 from selenium import webdriver 4 import unittest 5 import time 6 fr ...

随机推荐

  1. Tornado实战

    抽屉之Tornado实战(1)--分析与架构 抽屉之Tornado实战(2)--数据库表设计 抽屉之Tornado实战(3)--注册 抽屉之Tornado实战(4)--发帖及上传图片 抽屉之Torna ...

  2. 【我的Android进阶之旅】 Android Studio插件之Jenkins插件介绍

    一Jenkins插件功能介绍 1Jenkins任务列表 2切换Jenkins分组 3构建Jenkins任务 4进入构建Jenkins任务的页面 5进入最后一次构建Jenkins任务的页面 6增加Jen ...

  3. 我的Android进阶之旅------>解决:debug-stripped.ap_' specified for property 'resourceFile' does not exist.

    1.错误描述 更新Android Studio到2.0版本后,出现了编译失败的问题,我clean project然后重新编译还是出现抑郁的问题,问题具体描述如下所示: Error:A problem ...

  4. docker安装升级linux内核(2.6.32->3.10.81)

    .内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 y ...

  5. 000 初步使用Kotlin开发Android应用

    Kotlin是Jetbrians公司开发的一款编程语言,基于jvm兼容Java. 要求 IDE:IDEA或者Android Studio(简称studio)对Kotlin语言有所了解,官方文档:htt ...

  6. mybatis分享

    Mybatis入门 一.Mybatis环境搭建及简单实例 pom.xml mybatis-config.xml <?xml version="1.0" encoding=&q ...

  7. qt下通过socket传送中文

    zz 1.在main函数里我之前就加了一句QTextCodec::setCodecForTr( QTextCodec::codecForLocale() ); 现在再加一句QTextCodec::se ...

  8. 为Windows窗口标题栏添加新按钮

    为Windows窗口标题栏添加新按钮   对于我们熟悉的标准windows窗口来讲,标题栏上一般包含有3个按钮,即最大化按钮,最小化按钮和关闭按钮.你想不想在Windows的窗口标题栏上添加一个新的自 ...

  9. Linux Shell编程第3章——正则表达式

    目录 正则表达式基础 正则表达式的扩展 通配 grep命令 正则表达式基础 Linux Shell以字符串作为表达式向系统传达意思.元字符(Metacharacters)是用来阐述字符表达式意义的字符 ...

  10. Java分布式:JWT(JSON Web Tokens)

    Java分布式:JWT(JSON Web Tokens) 0.优势 Session方式存储用户状态占用大量服务器内存.一般而言,大型应用还需要借助一些KV数据库和一系列缓存机制来实现Session的存 ...