美文网首页
8-6(selenium-unitest)

8-6(selenium-unitest)

作者: 不知名的二狗 | 来源:发表于2019-08-25 21:14 被阅读0次

一、单元测试

小例子
def add(a,b):
    sum = a + b
    return sum
if __name__ == "__main__":
    print(add(1,2))

二、测试用例

自动化用例

自动化用例.png

三、测试框架

  • 登陆案例
    注意读取本地html的方式
from selenium import webdriver
import  time
import os
import unittest
class LoginTest(unittest.TestCase):
    def test_login(self):
        driver = webdriver.Chrome()
        driver.get('file:///'+os.path.abspath('login.html'))
        time.sleep(3)
        driver.find_element_by_name("user").send_keys("admin")
        driver.find_element_by_name("password").send_keys("123")
        driver.find_element_by_id("tijiao").click()
        time.sleep(10)
        t = driver.find_element_by_tag_name("body").text
        print(t)
        # if t == "登陆成功":
        #     print("pass")
        # else:
        #     print("fail")
        # driver.close()
        # driver.quit()
        self.assertTrue(t == "登陆成功")

login.html(登录页)

<!DOCTYPE html>
<html>
<title>登陆页面</title>
<body>
账号:
<input type = text name = "user" size = 16 />
密码:
<input type = password name = "password" size = 16 />
<button type = submit value = submit id = tijiao ><a href="index.html">登陆</a></button>
</body>
</html>

index.html(登陆成功页)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
登陆成功
</body>
</html>
  • 编写测试类
import unittest
# 类名遵循驼峰命名法
class JisuanTestCase(unittest.TestCase):
    def setUpClass(cls):
        print("用例前只执行一次")
    def tearDownClass(cls):
        print("所有用例后执行一次")
    # # 每个用例打开前都会执行
    # def setUp(self):
    #     print("打开浏览器")
    # # 每个用例完成都会执行一次
    # def tearDown(self):
    #     print("关闭浏览器")
    # 方法名以test开头
    def testAdd(self):
        self.assertEqual((1+2),3)
        self.assertEqual(0+1,1)

    def testMultiply(self):
        self.assertEqual((0*10),0)
        self.assertEqual((5*8),40)
if __name__ == "__main__":
    unittest.main()

注意:

如果其中某个方法有报错不影响其他方法的测试

4.assert断言

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(验证表的预期内容)
waitForPageToLoad(暂停执行,直到预期的新的页面加载)
waitForElementPresent (等待检验某元素的存在。为真时,则执行)

相关文章

  • 8-6(selenium-unitest)

    一、单元测试 小例子 二、测试用例 自动化用例 三、测试框架 登陆案例注意读取本地html的方式 login.ht...

  • 2018-04-13

    【谷源道 麻辣小龙虾熟食8-6钱 总重4斤(净虾1000g) 78元】 谷源道的麻辣小龙虾熟食8-6钱 总重4斤(...

  • 英语启蒙-第4周学习记录 已完成

    8-6记录 sss:The sailor went to sea.20.5 little pumkins. 对ss...

  • 8-6

    69.9kg 凌晨三点半睡的,别问我为什么没去跑步,我觉得去了以后会晕在路上。 早饭:一个糯米糍,一支绿色心情。 ...

  • 8-6

    上午出份子,下午睡觉,晚上洗衣服。没谁了

  • 8-6

    最陶醉时刻:英文歌跟唱,love letters in the sand On a day like today,...

  • 阅读量、灵魂伴侣、情绪控制……

    2018.12.26 星期三 小雨 8-6℃ 今日事件: 本以为昨天日记发出后,那篇《2018.12.24》阅读量...

  • 家书8-6

    六项精进接触已一月有余,从中真的受益非浅。要努力,要多反省,要感恩,要豁达,要多行善。 也许我们都是茫茫人海中平凡...

  • 8-6、baseURL

    需求 有些时候,我们会请求某个域名下的多个接口,我们不希望每次发送请求都填写完整的url,希望可以配置一个base...

  • 8-6失眠

    加班几天 失眠几天 越累越睡不着 皮肤好像没有痒和痛了 果然应该好好吃药啊 希望未来继续少抽烟不喝酒 少喝咖啡多睡...

网友评论

      本文标题:8-6(selenium-unitest)

      本文链接:https://www.haomeiwen.com/subject/syekectx.html