影刀RPA 自动化测试入门:用RPA做冒烟测试

发布时间:2026/7/24 0:35:29

影刀RPA 自动化测试入门:用RPA做冒烟测试 title: “影刀RPA 自动化测试入门用RPA做冒烟测试”date: 2026-07-01author: 林焱影刀RPA 自动化测试入门用RPA做冒烟测试每次发版后要手工点一遍主流程确认没问题费时费力还容易漏测。用影刀做冒烟测试让机器人替你点一遍发现问题立刻报警。不需要懂Selenium直接在影刀里配置就行。什么情况用什么适合用影刀做测试的场景每次发版后的基本功能验证冒烟测试核心业务流程的定期健康检查每天跑一次确认没问题有严格SLA要求的接口可用性监控新功能上线前的基本联调验证不适合的场景店群矩阵自动化突破运营极限需要测试边界条件、异常分支的完整测试用例用专业测试框架更合适单元测试用unittest/pytest需要mock的接口测试怎么做方法1接口可用性冒烟测试【影刀操作】新建流程「系统接口健康检查」添加【Python】指令importrequestsimportjsonimporttimefromdatetimeimportdatetime# 定义要测试的接口列表test_cases[{name:用户登录接口,method:POST,url:https://api.yourapp.com/auth/login,body:{username:test_user,password:test_pass},expected_status:200,expected_fields:[token,user_id],# 返回JSON必须包含这些字段timeout:5},{name:商品列表接口,method:GET,url:https://api.yourapp.com/products?page1pageSize10,headers:{Authorization:Bearer test_token},expected_status:200,expected_fields:[data,total],timeout:5},{name:下单接口,method:POST,url:https://api.yourapp.com/orders,body:{product_id:1,quantity:1,address_id:1},expected_status:201,expected_fields:[order_id],timeout:10}]results[]fortcintest_cases:start_timetime.time()result{name:tc[name],status:PASS,error:None,response_time:None}try:headerstc.get(headers,{})headers[Content-Type]application/jsoniftc[method]GET:resprequests.get(tc[url],headersheaders,timeouttc.get(timeout,5))else:resprequests.request(tc[method],tc[url],headersheaders,jsontc.get(body),timeouttc.get(timeout,5))result[response_time]round(time.time()-start_time,3)result[status_code]resp.status_code# 检查状态码ifresp.status_code!tc[expected_status]:result[status]FAILresult[error]f状态码不对期望{tc[expected_status]}实际{resp.status_code}else:# 检查返回字段try:bodyresp.json()missing_fields[fforfintc.get(expected_fields,[])iffnotinbody]ifmissing_fields:result[status]FAILresult[error]f返回数据缺少字段{missing_fields}except:result[status]WARNresult[error]返回内容不是JSONexceptrequests.Timeout:result[status]FAILresult[error]f接口超时{tc.get(timeout,5)}秒exceptExceptionase:result[status]FAILresult[error]str(e)results.append(result)icon✅ifresult[status]PASSelse❌print(f{icon}{tc[name]}:{result[status]}({result.get(response_time,N/A)}s))ifresult[error]:print(f 错误{result[error]})# 汇总pass_countsum(1forrinresultsifr[status]PASS)fail_countsum(1forrinresultsifr[status]FAIL)print(f\n测试结果{pass_count}通过{fail_count}失败共{len(results)}项)yda.set_variable(test_results,json.dumps(results,ensure_asciiFalse))yda.set_variable(has_failure,fail_count0)yda.set_variable(pass_count,pass_count)yda.set_variable(fail_count,fail_count)添加【条件判断】指令判断条件变量has_failure等于 True如果为真发送告警通知如果为假不操作一切正常方法2页面UI功能冒烟测试【影刀操作】新建子流程「验证登录功能」添加【打开网页】指令URLhttps://yourapp.com/login添加【填写】指令定位用户名输入框内容测试账号添加【填写】指令定位密码输入框内容测试密码添加【点击】指令点击登录按钮添加【等待网页加载】指令添加【Python】指令验证登录结果current_urlpage.url# 登录成功应该跳转到首页if/dashboardincurrent_urlor/homeincurrent_url:print(✅ 登录功能正常跳转到首页)yda.set_variable(login_test_pass,True)elif/loginincurrent_url:# 还在登录页登录失败error_msgtry:error_elempage.locator(.error-message, .alert-danger).firstiferror_elem.is_visible():error_msgerror_elem.text_content()except:passprint(f❌ 登录失败当前URL{current_url}错误信息{error_msg})yda.set_variable(login_test_pass,False)yda.set_variable(login_error,error_msg)方法3发送测试结果报告【影刀操作】添加【Python】指令importrequestsimportjsonfromdatetimeimportdatetime resultsjson.loads(yda.get_variable(test_results))pass_countyda.get_variable(pass_count)fail_countyda.get_variable(fail_count)# 生成HTML测试报告status_emojiiffail_count0elserowsforrinresults:status_classcolor:greenifr[status]PASSelsecolor:redrowsftr td{r[name]}/td td style{status_class}b{r[status]}/b/td td{r.get(response_time,N/A)}s/td td{r.get(error,)}/td /trreportf{status_emoji}系统健康检查 -{datetime.now().strftime(%Y-%m-%d %H:%M)}通过{pass_count}失败{fail_count}{⚠️ 有以下接口异常请及时处理iffail_count0else✅ 所有接口正常}\n.join([f-{r[name]}:{r[error]}forrinresultsifr[status]FAIL])# 发到企微群webhook_urlyour_webhook_urlrequests.post(webhook_url,json{msgtype:text,text:{content:report}})print(测试报告已发送)有什么坑坑1测试账号不能乱下单接口测试会真实调用接口下单测试可能真的创建了订单。解决方法temu店群自动化报活动案例在测试环境非生产跑冒烟测试生产环境只测只读接口不测写操作如果必须测写操作下单后立刻调用取消接口坑2测试数据污染反复测试导致测试账号的购买历史、订单记录累积影响其他测试。解决方法使用专门的测试账号每次测试后清理产生的测试数据。坑3A/B测试导致页面元素不稳定页面有A/B测试某些用户看到的按钮文字或位置不同。解决方法测试账号固定到某个分组通常是A/B测试的control组或者用接口测试代替UI测试。总结用影刀做冒烟测试的价值在于比人工点快、每次都一致、出问题立刻告警。接口层面的测试比UI测试稳定得多优先覆盖核心接口。把冒烟测试接入流水线每次发版后自动跑把回归测试的人力成本降到最低。

相关新闻