macaca 测试web(2)

简介: 笔记

这次只测试登录,使用ddt的数据驱动

其实我在uiautomator +python 实现安卓自动化 一文当中我已经使用过ddt数据驱动进行编写测试用例,那么我们来看下测试代码

import unittest
from macaca import WebDriver
import time
import BSTestRunner
import ddt
login_data=[
{'username':'北漂的','password':'li1213456','id':'tip_btn','assert':'该用户不存在'},
{'username':'','password':'li123456','id':'tip_input1','assert':'请输入登录用户名'},
{'username':'','password':'','id':'tip_input1','assert':'请输入登录用户名'},
{'username':'','password':'li123456','id':'tip_input1','assert':'请输入登录用户名'},
{'username':'北漂的雷子','password':'li123456','id':'tip_btn','assert':'用户名或密码错误'},
{'username':'北漂的雷子','password':'','id':'tip_input2','assert':'请输入密码'},
{'username':'北漂的雷子','password':'####','id':'feed_recent','assert':'最新动态'},]
die_arp={
    'platformName':'Desktop',
    'browserName':'electron'
}
server_url={
    'hostname':'localhost',
    'post':3456
}
@ddt.ddt
class BokeyuanTest(unittest.TestCase):
    def setUp(self):
        self.deriver=WebDriver(die_arp,server_url)
        self.deriver.init()
        self.deriver.get('https://passport.cnblogs.com/user/signin')
    def tearDown(self):
        self.deriver.quit()
    @ddt.data(*login_data)
    def test_login(self,login_data):
        self.deriver.element_by_id('input1').send_keys(login_data['username'])
        self.deriver.element_by_id('input2').send_keys(login_data['password'])
        self.deriver.element_by_id('signin').click()
        time.sleep(1)
        self.assertTrue(self.deriver.element_by_id(login_data['id']).text,login_data['assert'])
if __name__ == '__main__':
    suite = unittest.TestSuite()
    now = time.strftime('%Y-%m%d', time.localtime(time.time()))
    report_dir = r'%s.html' % now
    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(BokeyuanTest))
    re_open = open(report_dir, 'wb')
    runner = BSTestRunner.BSTestRunner(stream=re_open, title='demo by macaca', description='测试结果')
    runner.run(suite)

由于牵涉到个人博客的内容,部分已经屏蔽,那么我来看卡执行结果

10.png

看下测试报告

11.png

实践感觉:Macaca 运行速度就是快,不到一分钟,7个测试用例,不是一般的快,目前定位的地方还是写死的需要在后期修改,在之后的篇章当中会有介绍。

相关文章
|
4月前
|
Java 测试技术 网络安全
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
209 0
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
|
4月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.10 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.10 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
371 3
|
5月前
|
安全 NoSQL Shell
web渗透-SSRF漏洞及discuz论坛网站测试
SSRF(服务器端请求伪造)是一种安全漏洞,攻击者可诱使服务端发起任意请求,进而探测或攻击内网系统。常用于端口扫描、访问内部服务、读取本地文件等。常见防御包括限制协议、域名和IP,但可通过302跳转、短地址等方式绕过。
315 1
web渗透-SSRF漏洞及discuz论坛网站测试
|
安全 JavaScript 前端开发
AppSpider 7.5.020 发布 - Web 应用程序安全测试
AppSpider 7.5.020 for Windows - Web 应用程序安全测试
146 0
|
5月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.9 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
496 0
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
|
7月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
652 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
9月前
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
462 4
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
|
9月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
198 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。