macaca测试web小例子

简介: 笔记

上午刚把macaca的环境在公司的电脑上吧web 端的环境给搭建好,于是乎,看看网上的例子,看看官方的文档

https://macacajs.github.io/wd.py/ 可以在这个链接看到原滋原味针对python的api接口,还有例子,其实看着官方给出来的文档和例子是那么简洁通俗易懂,所以无论学什么我感觉学习官网的例子还是很重要的,搭好环境要不要实践呢,当然我们的答案是肯定的,实践出真知,动手,拿博客园的登录,和登录后在个人中心搜索为例子,算是对macaca的入门吧。

https://passport.cnblogs.com/user/signin

首先我们去查看下登录界面,

6.png

看到这个我们是不是感觉很爽啊,是的 直接id就能搞定了,这对我们初学一个工具的人来说有没有很简单,有没有很easy,那么我们第一个的登录用例的输入框的定位是不是就很好定位了,通过id就可以定位到我们的所需要的元素了,忘了还有一个断言啊,这里的断言我们就没有用id,换个定位方式吧,定位这个界面的个人资料,咋一看,classname完全可以定位,soeasy了,那么我们接着来看下登陆后去搜索园友

7.png

 

再次被我们发现了,这个输入框和搜索是不是还是很好定位的啊,小伙伴们都知道,那么这样是没有难度的,没有难度的,很快我们的用例就能搞定,于是乎,献上代码。

from macaca import WebDriver
import unittest
import HTMLTestRunner,time
die_arp={
    'platformName':'Desktop',
    'browserName':'electron'
}
server_url={
    'hostname':'localhost',
    'post':3456
}
class BokeyuanTest(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.deriver=WebDriver(die_arp,server_url)
        cls.deriver.init()
        cls.deriver.get('https://passport.cnblogs.com/user/signin')
    @classmethod
    def tearDownClass(cls):
        cls.deriver.quit()
    def test_login(cls):
        cls.deriver.element_by_id('input1').send_keys('北漂的雷子')
        cls.deriver.element_by_id('input2').send_keys('li.930423')
        cls.deriver.element_by_id('signin').click()
        cls.assertEqual(cls.deriver.element_by_class_name('set_profile').text,'编辑个人资料')
    def test_serc(cls):
        cls.deriver.element_by_id('txt_user_name').send_keys('逍遥豆')
        cls.deriver.element_by_id('btn_blue').click()
        cls.assertTrue('逍遥豆',cls.deriver.title)
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 = HTMLTestRunner.HTMLTestRunner(stream=re_open, title='demo by macaca', description='测试结果')
    runner.run(suite)

 运行运行,

8.png

速度是不是很快呢,看看我们的测试报告

9.png

完美,测试完毕,测试报告已出,后续实验正在进行中,Macaca不错,阿里开源  

相关文章
|
13天前
|
测试技术
基于LangChain手工测试用例转Web自动化测试生成工具
该方案探索了利用大模型自动生成Web自动化测试用例的方法,替代传统的手动编写或录制方式。通过清晰定义功能测试步骤,结合LangChain的Agent和工具包,实现了从功能测试到自动化测试的转换,极大提升了效率。不仅减少了人工干预,还提高了测试用例的可维护性和实用性。
25 4
|
12天前
|
Web App开发 测试技术 API
自动化测试之美:使用Selenium和Python进行Web应用测试
【8月更文挑战第31天】在软件开发的快节奏世界中,自动化测试如同一束明灯,照亮了质量保证之路。本文将引导你通过Selenium和Python的强大组合,探索如何构建高效的Web应用测试框架。我们不仅会讨论理论,还会深入代码,从一个简单的示例开始,逐步扩展至更复杂的场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。让我们一同揭开自动化测试的神秘面纱,体验它的魅力所在。
|
18天前
|
人工智能 Java 测试技术
自动化测试之美:如何用Selenium提升Web应用的质量保证
【8月更文挑战第24天】 在软件开发的海洋里,自动化测试如同一艘救生艇,帮助开发团队保持代码质量的同时,还能确保他们不会淹没在功能的迭代和bug修复中。Selenium,作为一个用于Web应用程序测试的工具,它的强大之处在于模拟真实用户操作的能力。本文将通过浅显易懂的语言和实际代码示例,引导读者理解Selenium的魅力所在,以及如何有效利用它来提升Web应用的测试效率和覆盖率。
|
20天前
|
XML JavaScript 测试技术
Web自动化测试框架(基础篇)--HTML页面元素和DOM对象
本文为Web自动化测试入门指南,介绍了HTML页面元素和DOM对象的基础知识,以及如何使用Python中的Selenium WebDriver进行元素定位、操作和等待机制,旨在帮助初学者理解Web自动化测试中的关键概念和操作技巧。
33 1
|
11天前
|
测试技术 Java
揭秘Struts 2测试的秘密:如何打造无懈可击的Web应用?
【8月更文挑战第31天】在软件开发中,确保代码质量的关键在于全面测试。对于基于Struts 2框架的应用,结合单元测试与集成测试是一种有效的策略。单元测试聚焦于独立组件的功能验证,如Action类的执行逻辑;而集成测试则关注组件间的交互,确保框架各部分协同工作。使用JUnit进行单元测试,可通过简单示例验证Action类的返回值;利用Struts 2 Testing插件进行集成测试,则可模拟HTTP请求,确保Action方法正确处理请求并返回预期结果。这种结合测试的方法不仅提高了代码质量和可靠性,还保证了系统各部分按需协作。
8 0
|
11天前
|
测试技术 开发者
守护代码质量的利器:揭秘Vaadin单元测试的奥秘,助你打造无懈可击的Web应用
【8月更文挑战第31天】在软件开发中,单元测试是确保代码质量和稳定性的重要手段。对于使用Vaadin框架开发的Web应用,有效的单元测试尤为关键。Vaadin提供了完善的工具链支持,并鼓励测试驱动开发(TDD)。本文详细介绍了如何为Vaadin应用编写单元测试,并通过具体示例展示了测试环境搭建、依赖配置以及对简单`UserForm`组件的测试方法。通过JUnit和Mockito,我们验证了表单字段的变化及有效性,确保组件按预期工作,从而提升应用的整体健壮性和可靠性。这不仅有助于发现潜在问题,还能简化未来的维护工作。
29 0
|
20天前
|
Web App开发 测试技术 API
Web自动化测试框架(基础篇)--Selenium WebDriver工作原理和环境搭建
本文详细介绍了Selenium WebDriver的工作原理,包括其架构、通信机制及支持的浏览器,并指导读者如何在Python环境下搭建Selenium WebDriver的测试环境,从安装Python和Selenium库到编写并运行第一个自动化测试脚本。
116 0
|
28天前
|
JavaScript 前端开发 应用服务中间件
【qkl】JavaScript连接web3钱包,实现测试网络中的 Sepolia ETH余额查询、转账功能
【区块链】JavaScript连接web3钱包,实现测试网络中的 Sepolia ETH余额查询、转账功能
|
1月前
|
测试技术 Shell 数据库
Django视图测试:构建可靠Web应用的关键步骤
Django视图测试:构建可靠Web应用的关键步骤
16 0
|
2月前
|
Web App开发 JavaScript 前端开发
自动化测试的新篇章:使用Selenium和Python进行Web应用测试
【7月更文挑战第31天】在软件开发生命周期中,测试环节是确保产品质量的关键步骤。随着技术的发展,自动化测试已成为提升效率、减少人为错误的重要手段。本文将通过实例介绍如何结合Selenium WebDriver和Python语言,构建一个基本的自动化测试框架,旨在帮助读者理解并实现自动化测试脚本,从而提高软件测试的效率和质量。
30 0