51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师论坛测试积点免费获取渠道攻略20+企业级实战项目就在这里!横扫BAT,Python全栈测试开发技能大全
【114期】:谈数据库测试&测试开发相互间的关系!中国软件测试行业现状调查报告新鲜出炉! 【杂志】做测试行业不偏科的尖子生! 【活动】为视频UP主打CALL,互动领福利!
查看: 416|回复: 3

[Python测试开发全栈班] 没明白为什么for循环中的10次已经执行完了,后面还会又开始执行,导致后面注册失败呢

[复制链接]

该用户从未签到

发表于 2019-5-23 14:06:12 | 显示全部楼层 |阅读模式



from locust import HttpLocust,task,TaskSetclass userBehavior(TaskSet):    #指定测试任务    @task    def test_login(self):        # 定义注册的测试数据        for i in range(10,21):            user = "test" + str(i)            registerData = {"email":user + "@qq.com",                         "username":user,                         "password":"123456",                         "repassword":"123456",                         "captcha":"11111"}            # 发送注册页请求给服务器 post            response = self.client.post("/index.php?controller=simple&action=reg_act",data = registerData)            loc = response.find("恭喜")            if loc >= 0 :                print("测试成功")            else:                print("测试失败")class WebSiteUser(HttpLocust):    host = "http://localhost:8083/iwebshop"    task_set = userBehavior    min_wait = 2000    max_wait = 5000




在学课程
Python测试开发全栈核心课程 互联网测试工程师必修课
http://www.atstudy.com/course/1287
回复

使用道具 举报

该用户从未签到

发表于 2019-5-23 14:29:13 | 显示全部楼层
locust关联脚本的循环并不是单纯脚本本身的循环

1、你可以试着去掉循环,locust中设置10个虚拟用户,他就会不断的调用脚本,直到你把locust服务停止

2、所以如果要进行注册的性能测试,不能只是准备10组数据,你想并发多少个用户,就得准备多少个数据,这10个数据只能满足10个用户各执行一次
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2019-5-23 14:49:58 | 显示全部楼层
所以这样的话,工作中如果要测注册功能的话还得一直盯着吗? 因为它执行完所有的数据在执行得时候就报错了 会导致测试结果不准确吧?

还有个问题老师,locust没有地方设置定时执行性能测试任务的功能是吧,你有没有好的办法呢
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2019-5-23 15:02:46 | 显示全部楼层
1. 关于locust的定时开始和停止,你可以看看https://blog.csdn.net/qq_33339479/article/details/87913788

def spawn_run_time_limit_greenlet():
        logger.info("Run time limit set to %s seconds" % options.run_time)
        def timelimit_stop():
            logger.info("Time limit reached. Stopping Locust.")
            runners.locust_runner.quit()
        gevent.spawn_later(options.run_time, timelimit_stop)

里面有详细的说明呵

2. 任何脚本的测试结果,都可以写入测试报告,只要把测试报告设计的足够详细,不需要人盯着,执行后看测试报告就可以了。课程中有关于测试报告的内容呵!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2020-8-12 08:41 , Processed in 0.062270 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2020 Comsenz Inc.

快速回复 返回顶部 返回列表