[自动化平台系列] - 初次使用 Macaca-前端自动化测试(2)

接一下来讲一讲api的使用   http://macacajs.github.io/macaca-wd/api/

var _config = {
    //本程序的host
    host: ‘http://test.3dker.cn/‘
}
module.exports = _config;

  

var wd = require(‘webdriver-client‘)({
  platformName: ‘desktop‘,
  browserName: ‘chrome‘
});
var config = require(‘../configs.js‘);
describe(‘macaca desktop 3dker article‘, function() {

  this.timeout(5 * 60 * 1000);

  const driver = wd.initPromiseChain();
  const initialURL = config.host + ‘article/list‘;

  before(() => {
    return driver
      .initDriver()
      .setWindowSize(1280, 1200);
  });

  it(‘#0 should go into macaca‘, function() {
    return driver
      .get(initialURL)
      .sleep(6000);
  });

  it(‘#1 should works with macaca‘, function() {
    return driver
      .elementByClassName(‘search-article‘)
      .sendKeys(‘aaaa‘)
      .sleep(5000)
      .elementByClassName(‘btn-search‘)
      .click()
      .sleep(5000)
      .source()
      .then(function(html) {
        //html.should.containEql(‘aaaa‘);
      })
      .takeScreenshot();
  });

  it(‘#2 should go into web‘, function() {
    return driver
      .get(initialURL + ‘?classify=知识分享#atc-select‘)
      .sleep(3000);
  });

  it(‘#3 write article‘, function(){
    return driver
      .elementByClassName(‘write‘)
      .click()
      .sleep(3000)
      .elementByClassName(‘username‘)
      .sendKeys(‘username‘)
      .elementByClassName(‘password‘)
      .sendKeys(‘pwd‘)
      .elementByClassName(‘do-login‘)
      .click()
      .sleep(3000)
  });

   after((done) => {
    return driver
      .quit(done);
  });
});

  get(initialURL)---就可以用chrome打开一个页面,

elementByClassName(‘search-article‘)--获了一个class名叫search-article的element

sendKeys(‘aaaa‘)----接下来是这个对象输入框输入我们想要的值,,,也可以用下面这个方法

或  safeEval(‘$(".search-article").val("56fa2fa3433e3fb103792fcf50806f54"‘))  这个是通过脚本来赋值,因为网站有引用jquery,所有支持jquery,

接下来只要去出发搜索按按钮即可,代码如下

.elementByClassName(‘btn-search‘)
     .click()

如下代码,取类名为smoke-base的对象,如果他包含这个class名为 smoke-visible,触发点击事件,关闭弹出层

.elementByClassName(‘smoke-base‘)
.hasElementByClassName(‘smoke-visible‘)
.safeEval(‘$(".dialog-buttons button").trigger("click")‘)

时间: 2024-11-08 21:44:09

[自动化平台系列] - 初次使用 Macaca-前端自动化测试(2)的相关文章

[自动化平台系列] - 初次使用 Macaca-前端自动化测试

1. 所先看一下官方地址,了解一下这个是不是你想要的测试工具 https://macacajs.github.io/macaca/environment-setup.html 2. 去掉sudo ---sudo chown -R $USER /usr/local 3. 全局安装自动化测试工具命令---- npm i macaca-cli -g 4. 修改本地host---sudo vim /etc/hosts 增加一条记录   127.0.0.1 localhost 5. 去github下载de

[自动化平台系列] - 初次使用 Macaca-前端自动化测试(3)

1. 如果是一个列表页面,当要触发编辑页面是如何做的呢?其实我测试只要点击第一条数据去编辑就好啦!如果页面结构如下 <li class="myatc-li"> <h3><span class="atc-status">(待审核) </span><a class="atc-head" href="/article/detail/199.html">lsg_1463025

构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)

通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 javascript 文件.多终端多浏览器同步测试的开发环境,并且还可以通过 piblish 命令对项目下的文件进行打包操作. 相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常

关于saltstack自动化平台的小总结

最近在配合php开发人员开发salt自动化平台,我负责后台Python的自动化任务处理,另一个同事负责前台页面和数据的下发.遇到了一点小小的问题,先总结下. 1.如何确保minion id 唯一 由于人为的去配置,可能导致mid重复,这样导致的结果是严重的.后来想了下,这个可以通过salt主动上报mid和ip的对应信息的.代码如下: class CheckMid(object):         def __init__(self):                 self.db = MySQ

实战:基于Python构建运维自动化平台

导语: 今天与大家一起探讨如何基于Python构建一个可扩展的运维自动化平台,也希望能与大家一起交流,共同成长. 此次分享将通过介绍OMServer.OManager具备的功能.架构设计.模块定制.安全审计.C/S结构的实现等几个方面的内容来展开. 为什么选择Python? 默认安装且跨平台 可读性好且开发效率高 丰富的第三方库(开发框架.各类API.科学计算.GUI等) 社区活跃&众多开发者. Python在腾讯的现状,根据去年内部提交组件语言统计,除去2.3.4前端技术,Python在高级编

企业应用部署自动化平台——Electric Flow

尽管当前敏捷开发模式或云计算的应用大大地提高了软件应用系统的开发速度,但目前对于应用的部署仍是不断调试和耗时的过程,有些甚至需花费工程师数天时间将应用产品部署上线成功.另外部署过程往往频繁的发生在整个软件的开发周期中,在开发过程中的测试部署,在QA阶段的功能测试部署,在PreProduction环境中的验收测试部署和最后的生产环境的部署. 而反观如今的软件应用系统,其往往由好几层架构,前端应用层.数据接口层.应用逻辑层.数据库层等等,可能在每一层架构中还涉及到若干模块,同时还有对于这些模块和层相

如何基于Python构建一个可扩展的运维自动化平台

嘉宾简介 刘天斯 从事互联网运维工作已13年,目前就职于腾讯-互动娱乐部,负责游戏大数据的运营,曾就职于天涯社区,担任首席架构师/系统管理员. 热衷开源技术的研究,包括系统架构.运维开发.负载均衡.缓存技术.数据库.NOSQL.分布式存储.消息中间件.大数据及云计算.Mesos.Docker.DevOps等领域.擅长大规模集群的运维工作,尤其在自动化运维方面有着非常丰富的经验.同时热衷于互联网前沿技术的研究,活跃在国内社区.业界技术大会,充当一名开源技术的传播与分享者. 导言 受 Reboot

Jenkins自动化构建系列:01敏捷开发、自动化构建与持续集成

<SVN与TortoiseSVN实战系列>已写完,今天新开一个<Jenkins自动化构建系列>,上周听了Bob Jiang老师的Agile1001公开课,一直想写个总结,这篇关于敏捷开发.自动化构建与持续集成的思考就作为开题篇吧. 敏捷是什么? 敏捷是一把伞,这把伞下边有XP.Scrum.FDD...,当然也包括自动化构建.持续集成,其实符合敏捷思想的开发方法.工具,如Jenkins都可以属于敏捷开发的范畴,上课时的PPT: 敏捷到底是什么? 其实关于敏捷的定义有很多,Bob Ji

前端自动化测试漫长路之——Selenium初探

引言 最近想解决前端开发或测试中的两个问题:一是界面UI的布局适配,能否在测试的过程中,通过命令操作真机打开相应页面然后截屏,通过对图片识别分类,发现有问题的图片,然后及时修复:二是页面性能分析,很多时候页面只能在指定的Webview中使用,能否直接通过命令打开指定的页面,分析页面在真实APP中的性能,并生成报告.这两个问题的前提就是通过命令直接操作手机App,带着问题找线索,于是我就结识了Selenium,下面将结合实例和大家分享一下. Selenium是什么? 先看一下官网的解释: Sele