精华内容
下载资源
问答
  • python selenium断言
    2020-11-30 12:59:20

    最近在学习自动化测试,网上资料是挺多的,但是都是很基础的,想深入一点了解就没有资料了。于是开始自己研究。

    这两天在看selenium验证和断言方面的资料。

    断言就是判断是否跟预期结果一致,不一致的话,测试用例直接失败,程序便不再执行下去。

    验证也是判断是否跟预期结果一致,不一致的话,测试用例还会执行下去。

    如何简单的理解断言和验证呢?举个简单的例子。比如点击某个按钮会跳转到某个页面上,我们会设置断言为是否能成功跳转到这个页面上,验证的话,一般为这个页面的信息。如果都不跳转成功,那么页面信息就什么没有,那么验证也无从入手。

    那么验证和断言的具体python语法该如何书写呢?

    先说断言吧!

    断言使用的主要是assertEqual的方法

    如验证百度搜索的标题是否为“123_百度搜索”

    self.assertEqual(u"123_百度搜索",driver.title)

    如要验证是否为false

    self.assertFalse(driver.title)

    如要验证是否为true

    self.assertTrue(driver.title)

    而验证为了保证失败也能正常运行下去,一般情况下都是在验证的基础上加异常捕获

    如验证百度搜索的标题是否为“123_百度搜索”

    try:

    self.assertEqual(u"1234_百度搜索", driver.title)

    except AssertionError as e:

    print u"找不到这个标题"

    以上这篇python 实现selenium断言和验证的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

    本文标题: python 实现selenium断言和验证的方法

    本文地址: http://www.cppcns.com/jiaoben/python/252029.html

    更多相关内容
  • 作者:平山http://blog.51cto.com/2681882/2283630一 前言提起断言,接触过软件测试相关工种的同学们,一定不会陌生。比如,功能测试/自动化测试判断用例是否通过,...这个比对的行为就是断言,依据断言的结果是True...

    作者:平山

    http://blog.51cto.com/2681882/2283630

    一 前言

    提起断言,接触过软件测试相关工种的同学们,一定不会陌生。比如,功能测试/自动化测试判断用例是否通过,靠的就是检查测试结果与预期是否一致;稍微不同的是,功能测试的结果检查是由人工完成的,而自动化测试是通过预先把期望结果写入脚本,并与实际执行结果进行比对来完成的。这个比对的行为就是断言,依据断言的结果是True或False判定用例执行通过或失败。

    在selenium系列的前四节,主要讲解selenium核心的元素定位和操作技术,然而,如果自动化脚本缺少断言,就无法准确获得脚本的运行过程中是否存在非预期的情况,脚本本身就不能很好完成功能回归的使命。

    二 断言分类

    断言的本质是验证某个功能点或脚本行为是否符合预期,所以,方法和手段是多种的。如,python自带的assert语句,unittest框架的assert方法,甚至用try…except捕获异常来断言等。在本文,主要介绍selenium提供的断言模式,但并不是说,web ui自动化脚本开发中只能使用selenium提供的断言模式,实际上也可以使用assert语句进行。

    以下主要介绍Selenium断言中的两个模式:assert 、verify。

    assert:断言失败时,测试终止。

    Verify:断言失败时,测试会继续执行,但会将错误信息写入日志。

    三 如何选择使用assert还是Verify呢?

    其实,选择使用assert还是Verify,取决于当执行失败时,希望脚本如何处理。如果希望测试失败时用例停止执行,方便检查错误原因,使用assert;如果希望测试出现异常时仍然可以对后续内容进行检验,使用verify。

    即,assert和Verify的区别是:Verify失败后不影响脚本的继续执行,而assert失败后将终止脚本执行。

    一个有用的思路是:

    我们使用一个"assert"保证操作在正确的页面上,然后跟着一堆的"verify"来验证页面元素、表单中的值,标签等。

    如下所示,我们打开一个页面,然后assert断言打开的是否标题为“Selenium IDE”的页面,如果断言成功,则验证页面图片和文字是否正确;否则,直接停止测试即可。

    四 常用断言总结

    assertLocation:(判断当前是在正确的页面)

    assertTitle:(检查当前页面的 title 是否正确)

    assertValue:(检查 input 的值, checkbox 或 radio,有值为”on”无为”off”)

    assertSelected:(检查 select 的下拉菜单中选中是否正确)

    assertSelectedOptions:(检查下拉菜单中的选项的是否正确)

    assertText:(检查指定元素的文本)

    assertTextPresent:(检查在当前给用户显示的页面上是否有出现指定的文本)

    assertTextNotPresent:(检查在当前给用户显示的页面上是否没有出现指定的文本)

    assertAttribute:(检查当前指定元素的属性的值)

    assertTable:(检查 table 里的某个 cell 中的值)

    assertEditable:(检查指定的 input 是否可以编辑)

    assertNotEditable:(检查指定的 input 是否不可以编辑)

    assertAlert:(检查是否有产生带指定 message 的 alert 对话框)

    verifyTitle:(检查预期的页面标题)

    verifyTextPresent:(验证预期的文本是否在页面上的某个位置)

    verifyElementPresent:(验证预期的UI元素,它的HTML标签的定义,是否在当前网页上)

    verifyText:(核实预期的文本和相应的HTML标签是否都存在于页面上)

    verifyTable:(验证表的预期内容)

    看完本文有收获?请转发分享给更多人

    关注 【小蟒社区】,一起学Python

    展开全文
  • 主要介绍了Python selenium实现断言3种方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 判断进行断言from time import *from selenium import webdriverdef login(user="admin",pwd="123456"):driver = webdriver.Chrome()driver.implicitly_wait(10)driver.get("http://192.168.1.110:8080/cm...

    1.if ...else ...判断进行断言

    from time import *

    from selenium import webdriver

    def login(user="admin",pwd="123456"):

    driver = webdriver.Chrome()

    driver.implicitly_wait(10)

    driver.get("http://192.168.1.110:8080/cms")

    driver.maximize_window()

    sleep(1)

    driver.find_element_by_id("userAccount").send_keys(user)

    sleep(1)

    driver.find_element_by_id("loginPwd").send_keys(pwd)

    sleep(1)

    driver.find_element_by_id("loginBtn").click() #登录

    sleep(1)

    users = driver.find_element_by_class_name("c-white").text #获取用户名

    sleep(1)

    driver.quit()

    if users[6:] == user:

    pass

    else:

    raise AssertionError

    if __name__ == '__main__':

    login()

    from time import *

    from selenium import webdriver

    def login(user="admin",pwd="123456"):

    driver = webdriver.Chrome()

    driver.implicitly_wait(10)

    driver.get("http://192.168.1.110:8080/cms")

    driver.maximize_window()

    sleep(1)

    driver.find_element_by_id("userAccount").send_keys(user)

    sleep(1)

    driver.find_element_by_id("loginPwd").send_keys(pwd)

    sleep(1)

    driver.find_element_by_id("loginBtn").click() #登录

    sleep(1)

    users = driver.find_element_by_class_name("c-white").text #获取用户名

    sleep(1)

    driver.quit()

    if users[6:7] == user:

    pass

    else:

    assert False

    if __name__ == '__main__':

    login()

    2.try ... except ...断言

    from time import *

    from selenium import webdriver

    def fatie(title,body):

    dr = login()

    sleep(2)

    dr.find_element_by_partial_link_text("版块").click()

    sleep(1)

    dr.find_element_by_id("subject").send_keys(title)

    sleep(1)

    dr.find_element_by_id("fastpostmessage").send_keys(body)

    sleep(2)

    dr.find_element_by_name("topicsubmit").click()

    sleep(2)

    try:

    dr.find_element_by_id("thread_subject")

    except:

    raise AssertionError

    else:

    pass

    sleep(3)

    dr.quit()

    3.assert断言(基于unittest)

    assertIn(arg1, arg2, msg=None)   验证 arg1 是 arg2 的子串,不是则 fail

    assertNotIn(arg1, arg2, msg=None)   验证 arg1 不是 arg2 的子串,是则 fail

    assertEqual(arg1, arg2, msg=None)   验证 arg1=arg2,不等则 fail

    assertNotEqual(arg1, arg2, msg=None)   验证 arg1 != arg2, 相等则 fail

    import time

    import unittest

    class Test(unittest.TestCase):

    def test01(self):

    self.assertEqual(2,2,msg="test01 error!")

    def test02(self):

    self.assertNotEqual(1,2,msg="test02 error!")

    def test03(self):

    self.assertIn("fang","xinfangshuo",msg="test03 error!")

    def test04(self):

    self.assertNotIn("xing","xinfangshuo",msg="test04 error!")

    def tearDown(self):

    time.sleep(1)

    if __name__ == '__main__':

    unittest.main()

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。

    展开全文
  • 今天小编就为大家分享一篇python 实现selenium断言和验证的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/div/div/div').click() #这里是点击下一步后会有弹窗 time.sleep(1) decide=driver.find_element_by_class_name('swc_lik').text#定位获取提示框信息 这...
  • Selenium中有一些断言,它们是测试用例的验证或检查点。在没有断言的情况下,无法选择确定测试用例是否失败。有时,我们可能会使用条件语句,例如if – else等,然后在控制台中打印pass / fail的结果。但这只能解决...

    Selenium中有一些断言,它们是测试用例的验证或检查点。在没有断言的情况下,无法选择确定测试用例是否失败。

    有时,我们可能会使用条件语句,例如if – else等,然后在控制台中打印pass / fail的结果。但这只能解决检查日志的问题,而不能解决实际报告的问题。

    因此,断言用于生成测试执行报告。如果我们的测试用例通过了所有测试步骤,则断言不会以任何方式影响测试用例,但是如果测试用例失败,则会进行报告。

    一个测试用例可以包含许多断言方法。它们中的一些可以接受所有数据类型的值,而某些将仅具有数字值。下面列出了不同类型的断言-assertEqual –此断言具有两个参数。在第一和第二参数之间进行比较。如果两者都匹配,则认为测试用例通过。否则测试用例失败。

    assertEqual的第三个参数是可选的。它主要用于信息分析目的。

    语法assertEqual("Nhooo", "Nhooo")assertNotEqual –此断言可以具有两个以上的参数。在第一和第二参数之间进行比较。如果它们都不匹配,则认为测试用例通过。否则测试用例失败。

    assertEqual的第三个参数是可选的。它主要用于信息分析目的。

    语法assertNotEqual("Tutorials", "Nhooo")assertTrue –此断言可以处理两个以上的参数。在第一和第二参数之间进行比较。如果两者都匹配,则认为测试用例通过。否则测试用例失败。

    assertTrue断言允许使用关系运算符进行比较。在这些情况下,结果为布尔值(True或False)。此断言的最终参数可以包含用于结果分析的信息性消息。

    语法assertTrue((hd="Nhooo") OR (hd="Selenium"),"Matching header")assertFalse –此断言可以处理两个以上的参数。在第一和第二参数之间进行比较。如果它们都不匹配,则认为测试用例通过。否则测试用例失败。

    assertTrue断言允许使用关系运算符进行比较。在这些情况下,结果为布尔值(True或False)。此断言的最终参数可以包含用于结果分析的信息性消息。

    语法assertFalse(2>3,"2 is not greater than 3")assertIs –此断言可以处理两个参数。在第一和第二参数之间进行比较。如果两者都匹配,则认为测试用例通过。否则测试用例失败。

    assertEqual的第三个参数是可选的。它主要用于信息分析目的。

    语法assertIs(Nhooo", "Nhooo", "Both are equal")assertIsNot –此断言可以处理两个参数。在第一和第二参数之间进行比较。如果它们都不匹配,则认为测试用例通过。否则测试用例失败。此断言的最终参数可以包含用于结果分析的信息性消息。

    此断言的最终参数可以包含用于结果分析的信息性消息。

    语法assertIsNot(Nhooo", "Tutorials", "Both are not equal")assertIsNone –此断言可以处理参数。用于检查提供的值是否为none。如果结果等于零,则认为测试用例通过。否则测试用例失败。

    此断言的最终参数可以包含用于结果分析的信息性消息。

    语法assertIsNone( result, "The result is equal to none")assertIsNotNone –此断言可以处理参数。用于检查提供的值是否为none。如果结果不等于零,则认为该测试用例通过。否则测试用例失败。

    此断言的最终参数可以包含用于结果分析的信息性消息。

    语法assertIsNotNone( r, "The result is not equal to none")assertIn –此断言具有两个参数。它用于检查第二个参数中是否存在第一个参数。如果该项目存在于第二个元素中,则认为测试用例通过。否则测试用例失败。assertIs的第三个参数是可选的。它主要用于信息分析目的。

    这种断言主要用于集合,列表,元组和字典中。

    语法s = set(["PLSQL", "Selenium", "Jmeter"])

    assertIn("Selenium", s, " Selenium is present in set s")assertNotIn –此断言具有两个参数。它用于检查第二个参数中是否存在第一个参数。如果第二个元素中不存在该项目,则认为该测试用例通过了;否则测试用例失败。

    assertIs的第三个参数是可选的。它主要用于信息分析目的。

    这种断言主要用于集合,列表,元组和字典中。

    语法s = set(["PLSQL", "Selenium", "Jmeter"])

    assertIn("Oracle", s, " Oracle is not present in set s")assertIsInstance –此断言具有两个参数。它用于检查给定的对象(在第一个参数中)是否是该类的实例(在第二个参数中)。如果是,则认为该测试用例通过了;否则测试用例失败。

    assertIs的第三个参数是可选的。它主要用于信息分析目的。

    语法Cl1 c = new Cl1()

    assertIsInstance(c, Cl1, " c is an instance of Cl1")assertIsNotInstance –此断言具有两个参数。它用于检查给定的对象(在第一个参数中)是否是该类的实例(在第二个参数中)。如果否,则认为测试用例通过。否则测试用例失败。

    assertIs的第三个参数是可选的。它主要用于信息分析目的。

    语法Cl1 c = new Cl1()

    assertIsInstance(d, Cl1, " d is not an instance of Cl1")assertListEqual –此断言具有两个参数。它用于检查参数中提到的两个列表是否相似。如果缺少或不存在类似元素,则将其打印为错误消息。

    assertTupleEqual –此断言具有两个参数。它用于检查参数中提到的两个元组是否相似。如果缺少或不存在类似元素,则将其打印为错误消息。

    assertSetEqual –此断言具有两个参数。它用于检查参数中提到的两个集合是否相似。如果缺少或不存在类似元素,则将其打印为错误消息。

    assertDictEqual –此断言具有两个参数。它用于检查参数中提到的两个字典是否相似。如果缺少或不存在类似元素,则将其打印为错误消息。

    展开全文
  • from selenium import webdriver from selenium.webdriver.common.keys import Keys import time from selenium.webdriver import ActionChains # driver= webdriver.Firefox() driver= webdriver.Chrome() driver....
  • 我做了一些研究,但没有找到任何特定于使用...PythonSelenium文档没有任何好的解释或示例。在这段代码之后,我所要做的就是在页面上放置一行并断言用户名“Tuto”是可见的LoginButtonLocator = "//a[contains(text...
  • python+selenium 断言的常用方法

    千次阅读 2019-03-18 17:36:40
    断言的常用方法 assertEqual(a,b,[msg=‘测试失败时打印的信息’]): 断言a和b是否相等,相等则测试用例通过。 assertNotEqual(a,b,[msg=‘测试失败时打印的信息’]): 断言a和b是否相等,不相等则测试用例通过。 ...
  • python selenium 常用断言的使用方法

    千次阅读 2018-11-27 20:13:23
    assertEqual(a,b,[msg='测试失败时打印的信息']): 断言a和b是否相等,相等则测试用例通过。 assertNotEqual(a,b,[msg='测试失败时打印的信息']): 断言a和b是否相等,不相等则测试用例通过。 assertTrue(x,...
  • 适用于小数,palces: 指定精确到小数点后多少位,默认为7,如果在place位以内不同则断言失败;如果delta指定了值,则first和second之间的差值必须≤delta; assertNotAlmostEqual(self,first,second,places [,msg],...
  • python+selenium 上传文件方法

    千次阅读 2022-02-09 17:21:54
    input上传: 找到对应的元素,使用send_keys(‘filePath’)即可: 例: ...方法一:通过Python的pywin32 模块的键盘按键操作上传 pywin32模块安装: 1.pycharm安装: 从File---Settings---Py
  • python+selenium 断言的使用assert

    千次阅读 2019-06-13 12:45:34
    自动化测试常用断言的使用方法(python) 自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断。 这里介绍...
  • 自动化测试常用断言的使用方法(python)自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断。这里介绍几个...
  • 犯罪嫌疑人X1、下载并安装python2、安装selenium下载并解压缩selenium-2.32.0.tar.gz. 把selenium-2.32.0\py\下的selenium整个文件夹放入Python33\Lib\site-packages目录下。3 下载Eclipse后安装pydev插件4 打开...
  • 在测试用例中,执行完测试用例后,最后一步是判断测试结果是pass还是fail,自动化测试脚本一般把这种生成测试结果的方法称为断言(assert)。 断言,能够验证应用程序的状态是否同所期望的一致,提供了测试结果是...
  • 今天我们来聊一聊 异常 和断言! "异常"和"断言"异常常见异常类型异常用法1.try--except--else1.try--...所有异常类的基类(python2.5之后) 2) Exception 所有异常类的基类,继承BaseException 3) AssertionE
  • Selenium中的断言python篇)

    千次阅读 2021-01-20 19:41:30
    Selenium常用的断言包括 页面属性断言断言标题、url或页面源码中是否包含或不包含特定字符 元素存在断言断言指定元素存在 图片及链接断言断言图片正常显示、链接可以正常打开 页面属性断言 这是最常用的断言...
  • 1、Unittest语法规则及示例 2、Unittest断言语法 3、Unittest用例执行顺序
  • 这篇文章主要介绍了python selenium实现发送带附件的邮件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 163邮件登录首页 登录成功断言是否有退出按钮...
  • # 导入正则模块 import re def test_c_administrator_swdj_add_01(self): """ 正常添加一条数据:保存后列表数目叫之前加1; :return: """ time.sleep(1) DW = "测试单位" BH = "Ceshi001" ...
  • 一前言提起断言,接触过软件测试相关工种的同学们,一定不会陌生。比如,功能测试/自动化测试判断用例是否通过,靠的就是检查测试结果与预期是否一致;稍微不同的是,功能测试的结果检查是由...在selenium系列的前...
  • 一、断言方法断言是对自动化测试异常情况的判断。#-*- coding: utf-8 -*-from selenium importwebdriverimportunittestimportos,sys,timeimportHTMLTestReport#登录driver =webdriver.Firefox()current_time= time....
  • Python+selenium 三种断言方式

    千次阅读 2020-11-29 21:39:14
    自动化测试中,结果判断有三种方式:截图对比、控件对比、日志分析。其中控件对比就是断言,当...对这个事件进行结果判断,即断言一、通过Python自带的Assert断言ts = driver.find_element_by_class_name("ivu-moda...
  • 前言在测试用例中,执行完测试用例后,最后一步是判断测试结果是pass还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert)。用unittest组件测试用例的时候,断言的方法还是很多的,下面介绍几...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,902
精华内容 2,760
关键字:

python selenium断言