• Monkey 测试的 Python 脚本 at 2018年05月14日

    目前碰到一个不知如何解决的问题:

    1. Monkey日志保存在PC端,但是每次的日志都不完整,某次执行之后的日志就再没写入日志文件;
    2. Monkey日志保存在手机端,可以获得完整的Monkey日志,但是不确定手机和PC端是否连接中,需要人工检查,再从手机下载日志。

    不知道社区的大大们,关于这个问题,有没有更好的解决方案。我倾向于把monkey日志保存于手机端,并在接下来完善日志分析功能。

  • 错过了直播,有回放吗?


  • @seveniruby 老师,我使用chrome的Remote devices工具中,手机浏览器打开网页,获取不到浏览器,是为什么呢?

  • 作业1

    import io.swagger.client.*;
    import io.swagger.client.api.PetApi;
    
    import java.util.*;
    
    import io.swagger.client.api.StoreApi;
    import org.junit.Test;
    import static org.junit.Assert.assertEquals;
    
    
    public class PetApiTest {
    
        @Test
        public void testFindPegStatus() {
    
            PetApi apiInstance = new PetApi();
            List<String> status = new ArrayList<String>();
            status.add("pending");
            try {
                assertEquals(apiInstance.findPetsByStatus(status).get(0).getId(), Long.valueOf(5092));
            } catch (ApiException e) {
                e.printStackTrace();
            }
        }
    
        @Test
        public void testStoreInventory(){
    
            StoreApi storeInstance = new StoreApi();
    
            try {
                assertEquals(storeInstance.getInventory().get("Shortlisted"), Integer.valueOf(2));
            } catch (ApiException e) {
                e.printStackTrace();
            }
    
        }
    }
    
  • 思寒老师,上午讲的swagger client java测试的源码可以发下不?不太熟悉java。谢谢!

  • 作业二

    @Test
        public void testJsonInBase64(){
            given().filter((req, res, ctx)->{
                        Response resOrigin = ctx.next(req,res);
                        ResponseBuilder responseBuilder = new ResponseBuilder().clone(resOrigin);
                        String resDecode = new String(Base64.decodeBase64(resOrigin.body().asString().trim()));
                        responseBuilder.setBody(resDecode);
                        Response resNew = responseBuilder.build();
                        return resNew;
                    })
                    .when().get("http://127.0.0.1:5000/base64Encode")
                    .then().log().all()
                    .statusCode(200)
                    .body("topic.id", equalTo(6040));
    

  • 我访问接口,一直返回错误,状态码400

  • node('229') {
    
       stage('Preparation') {
           git credentialsId: '6a944868-6bf7-445e-aa78-94b233e043e4', url: 'http://***/testcase_PCCashier_APITest.git'
    
           properties([gitLabConnection(''), pipelineTriggers([upstream(threshold: 'SUCCESS', upstreamProjects: '**, **, ')])])
        }
    
       stage('Build') {
           sh '''#!/bin/bash
    
    cd ..
    
    source httpruner_venv/bin/activate
    
    cd PCCashier_APITest
    
    hrun --dot-env-path devlop.env --html-report-name index_dev.html tests/testcases/'''
       }
    
       stage('Results') {
           publishHTML([allowMissing: true, alwaysLinkToLastBuild: false, includes: '**/*.html', keepAll: true, reportDir: '/home/jenkins/work/workspace/PCCashier_APITest/reports', reportFiles: 'index_dev.html', reportName: '接口测试报告', reportTitles: ''])
       }
    }
    

  • 我新建了一个Pipeline项目。
    Pipeline项目没有“Restrict where this project can be run”选项嘛?

  • s = input('请输入英文字符:')
    
    while not s.isalpha():
        s = input('请输入英文字符:')
    
    with open('test.txt', 'w', encoding='utf-8') as f:
        f.write(s.upper())