ITPub博客

首页 > 数据库 > 数据库开发技术 > 自动化测试中java多线程的使用实例

自动化测试中java多线程的使用实例

原创 数据库开发技术 作者:FunTester 时间:2019-08-03 09:16:16 0 删除 编辑

本人在学习android UiAutomator和selenium2java的时候,经常与遇到一些跟数据库相关的问题,比如我提交了一个订单,我想从数据库中查询这个订单的信息是否跟预期一致,或者我已经购买过一个课程,我需要从数据库中删除这条记录,方便我再去购买。如果对于一条用例来说执行一下sql语句就好了,但是如果对于执行很多用例的话,就不符合自动化的初衷了。所以本人在学习了java多线程之后,进行了一些实践。分享出来,供大家参考。


这个是我写的ThreadTest类的代码。很简单,暂时只实现了一个key控制一个功能,但是思路差不多,再改改就能实现多功能,针对每个需要操作数据库的用例都写一个key控制的if-else循环。

public class ThreadTest extends Thread{  boolean key = true;  boolean key1 = false;  public void run() {    while(key){    if (key1) {      try {        MySql.UpdateLectureById(123456);        key = false;        } catch (ClassNotFoundException | SQLException e) {          e.printStackTrace();          }      }    }    }  public void setKey1(boolean key) {    this.key1=key;  }  public void setKey(boolean key) {    this.key=key;  }

下面是我在用例中添加的一些setkey方法,selenium2java里面可以直接用,android UiAutomator使用起来稍微麻烦一些。

  //学习角发帖  public void testLearnCornerAddQuestion() throws UiObjectNotFoundException, InterruptedException, IOException {    begin();    login();    waitForTextAndClick("聊天");    waitForTextAndClick("学习角");    postNewCard();//发帖    ThreadTest one = new ThreadTest();    one.setKey1(false);    over();    }

下面是结束进程的方法,selenium2java使用也比较简单,android UiAutomator我使用UiAutomatorHelper调试来获取报告的,所以添在调试代码后面了。

  public static void main(String[] args){    new ThreadTest().start();    new UiAutomatorHelper("Demo", "student.Test", "testTest", "1");    new ThreadTest().setKey(false);  }

如果具体使用的时候,还需根据情况加入join()方法,防止异常发生。


点击阅读原文,有兴趣的童鞋可以加QQ群交流

原文作者:FunTester;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-07-07

  • 博文量
    1037
  • 访问量
    420632