macaca测试web小例子

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

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

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

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

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

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

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)

  

  运行运行,

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

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

时间: 2024-08-09 02:08:59

macaca测试web小例子的相关文章

macaca 测试web(2)

还是以博客园登录为例, 可以查看上一篇上一篇 这次只测试登录,使用ddt的数据驱动,这里我博客也有记录 地址 其实我在uiautomator +python 实现安卓自动化 一文当中我已经使用过ddt数据驱动进行编写测试用例,那么我们来看下测试代码 import unittest from macaca import WebDriver import time import BSTestRunner import ddt login_data=[ {'username':'北漂的','passw

freemarker入门小例子

我用freemarker做了两个小例子,主要的东西是:两个Test文件,一个Animal实体类,一个ftl模板---freemarker的模板,我使用maven做的java工程案例.主要结构内容如下图: 注意:需要导入freemarker的jar包: 1.首先我们先来了解一下freemarker的概念: freeMarker概述: FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写: FreeMarker被设计用来生成HTML Web页面,特别是基于MVC

lucene.net 3.0.3、结合盘古分词进行搜索的小例子(转)

lucene.net 3.0.3.结合盘古分词进行搜索的小例子(分页功能) 添加:2013-12-25 更新:2013-12-26 新增分页功能. 更新:2013-12-27 新增按分类查询功能,调整索引行新增记录的图片字段. //封装类 [csharp] view plaincopyprint? using System; using System.Collections.Generic; using System.Linq; using System.Web; using Lucene.Ne

Spring.Net在ASP.NET Mvc里使用的一个小例子

就贴个小例子,就不注意格式了. 1.下载dll NuGet的下载地址:http://docs.nuget.org/docs/start-here/installing-nuget 在vs的NuGet里搜索spring.web.mvc,它会自动下载SpringNet的引用包. 安装完成之后你的项目会多三个引用,项目目录../packages文件夹下面也会多出这三个文件夹里面是SpringNet的文件. 2.写代码例子 很简单的例子.定义一个接口,一个对于接口的实现类. namespace MvcA

Spring与FreeMarker的小例子

由于项目需要,需要使用FreeMarker ,今天正好研究就写了一个简单的小例子 首先配置web.xml,  <servlet>    <servlet-name>springmvc</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>     <para

SpringMVC+Spring+Hibernate的小例子

Strusts2+Spring+Hibernate虽然是主流的WEB开发框架,但是SpringMVC有越来越多的人使用了,确实也非常好用,用得爽! 这里实现了一个SpringMVC+Spring+Hibernate的小例子.注释都在代码里面. 项目各包的结构如下图: 1, 首先是pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS

cmake 之一个小例子

cmake,比手写makefile更好的选择 安装cmake,此部分略过 一.新建一个工程 这里我是在windows下使用eclipse新建了一个c工程(PS:我一般新建一个Makefile类型的工程,这样比较干净) 二.建立必要的文件夹 我的工程目录: D:\code\cpp\cmakestudy\test>tree /f 卷 软件 的文件夹 PATH 列表 卷序列号为 0006-17B7 D:. │ .cproject │ .project │ CMakeLists.txt │ ├─bin

spring AOP + 自定义注解实现权限控制小例子

今天看了一下黑马程序员的视频,上面讲到一个使用spring AOP + 自定义注解的方式来实现权限控制的一个小例子,个人觉得还是可以借鉴,整理出来与大家分享. 需求:service层有一些方法,这些方法需要不同的权限才能访问. 实现方案:自定义一个PrivilegeInfo的注解,使用这个注解为service层中的方法进行权限配置,在aop中根据PrivilegeInfo注解的值,判断用户是否拥有访问目标方法的权限,有则访问目标方法,没有则给出提示. 关键技术:自定义注解及注解解析,spring

java操作xml的一个小例子

最近两天公司事比较多,这两天自己主要跟xml打交道,今天更一下用java操作xml的一个小例子. 原来自己操作xml一直用这个包:xstream-1.4.2.jar.然后用注解的方式,很方便,自己只要定义好bean的层次结构就可以了,第三方包会自动生成和解析xml. 但是今天发现,这个包有两个问题: 一个是比较复杂(我是菜鸟,求别喷,我真的觉得他挺复杂的..).比如说你要想处理既有属性又有值的xml就比较麻烦.(@XStreamConverter注解这种方法报这个错:com.thoughtwor