当前位置:网站首页>Appium practice | make the test faster, more stable and more reliable (I): slice test
Appium practice | make the test faster, more stable and more reliable (I): slice test
2022-07-07 04:52:00 【Huo Laoshi】
This article is for the Hogwarts Institute of testing Appium Pro One of the series of original translation articles , It aims to popularize the most advanced test development technology . Advanced learning , Add group at the end of the text .
Use Appium when , It's going to be slow and unstable .Appium
The underlying tools used may limit the speed , In functional testing , Many environmental problems can also lead to the instability of automated testing . There are some ways to avoid these problems . This article is one of the series , Stability and speed will also be discussed in the following article .
establish Session Flaky
In fact, it means that it can't be relied on – If the local test is successful , It may fail in the future , Is this unreliable ? The problem is very complicated ,Appium
There's really going to be instability , But you need to find the problem !
- Do you understand App Or the speed of the device ,App stability , The screen size , Or dynamic content ? Whether these values are assumed to be groundless ;
- App It's unstable in itself ( May be App It's a problem of its own or man-made , Whether this problem will occur in manual operation );
- Insufficient device memory and processor computing ;
- Network problems ( use HTTP Sending to the back end may fail );
- Equipment problems ( There are all sorts of strange problems with the equipment );
If you say , None of the above is a problem , The problem must be Appium On ! Actually ,Appium It's just one of the many technologies , The following figure illustrates iOS The underlying technology stack for testing :
You see ,Appium It's not a huge monster , contrary , It uses a lot of underlying tools , The problem may be with these underlying tools ( such as XCUITest and UiAutomator2
). I hope you can find out the problem . Some problems are not isolated , It's random throughout the build . When you check the log , You'll find that this flaky phenomenon always happens at some time of the day . This is very important information , There may be a timing code running ! Ask other teams , They may know the problem .
The following article will discuss these issues in detail , Now I'm going to give you some of the things in CI On the advice of :
- Add tests to pre build , Check for flaky problems . Run it many times ( Probably 100 Time ?) To ensure reliability , If 100% adopt , very good ,merger This commit To master Branch it .
- If some of the tests fail , Indicates that there is an unreliable or flaky problem . Take a moment to investigate why , Maybe it's just about positioning or waiting .Appium Logs and step-by-step screenshots are important .
- When problems are found , If it can be solved , To solve it . If it doesn't work out , Can be directed to Appium perhaps Apple Provide error reports , You can also discard the test or comment out ( If you have the time , You can also test it manually ).
- If you keep the test in the build and allow the build to retry the test if it fails , You have to track statistics on the number of retries , And set some reliability thresholds , If the threshold is exceeded, the investigation will be conducted . If the test goes on over time , There are more and more flaky problems , There may be a problem with your app .
Appium
Testing is functional testing , It's not unit testing . Unit tests are isolated from everything else , Functional testing lives in the real world , It's a lot more chaotic . Functional testing cannot cover all code problems , Only critical user actions should be considered , And capture through a small number of tests
bug, from bug Extract valuable information from .
meanwhile , Make sure that a small number of measurements may be reliable . By strengthening some tests , You'll learn a lot about the application and the environment as a whole . So you can put what you've learned into a new test from the beginning , Instead of solving the same problem over and over again on the road ahead .
About more robustness testing techniques , We will discuss in the following article , Including how fast 、 Reliably find elements in your application !
** _
_**
** _
Come to Hogwarts test development society , Learn more advanced technologies of software testing and test development , Knowledge points cover web automated testing app automated testing 、 Interface automation testing 、 The test framework 、 Performance testing 、 Security testing 、 Continuous integration / Continuous delivery /DevOps, Test shift left 、 Test move right 、 Precision testing 、 Test platform development 、 Test management, etc , Course technology coverage bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox And other related technologies , Comprehensively improve the strength of test engineers
QQ Communication group :484590337
official account TestingStudio
For more information, please visit https://ceshiren.com
Tester community
Video data collection :https://qrcode.testing-studio.com/f?from=CSDN&url=https://ceshiren.com/t/topic/15844
Click for more information
边栏推荐
- Fiance donated 500million dollars to female PI, so that she didn't need to apply for projects, recruited 150 scientists, and did scientific research at ease!
- 计数排序基础思路
- 软件测试之网站测试如何进行?测试小攻略走起!
- [line segment tree practice] recent requests + area and retrieval - array modifiable + my schedule I / III
- 日常工作中程序员最讨厌哪些工作事项?
- [digital analog] source code of MATLAB allcycles() function (not available before 2021a)
- Meaning of 'n:m' and '1:n' in database design
- GPT-3当一作自己研究自己,已投稿,在线蹲一个同行评议
- Oracle - views and sequences
- Web3 社区中使用的术语
猜你喜欢

A row of code r shows the table of Cox regression model

Analyse approfondie de kubebuilder

【实践出真理】import和require的引入方式真的和网上说的一样吗

offer如何选择该考虑哪些因素

为什么很多人对技术债务产生误解

Lessons and thoughts of the first SQL injection

Intel David tuhy: the reason for the success of Intel aoten Technology

On the 110th anniversary of Turing's birth, has the prediction of intelligent machine come true?

深入解析Kubebuilder

Introduction to the PureMVC series
随机推荐
深入解析Kubebuilder
Lecture 3 of "prime mover x cloud native positive sounding, cost reduction and efficiency enhancement lecture" - kubernetes cluster utilization improvement practice
What about the collapse of win11 playing pubg? Solution to win11 Jedi survival crash
npm ERR! 400 Bad Request - PUT xxx - “devDependencies“ dep “xx“ is not a valid dependency name
JDBC link Oracle reference code
STM32封装ESP8266一键配置函数:实现实现AP模式和STA模式切换、服务器与客户端创建
3GPP信道模型路损基础知识
Chapter 9 Yunji datacanvas company has been ranked top 3 in China's machine learning platform market
Structure actual training camp | after class homework | module 6
leetcode 53. Maximum Subarray 最大子数组和(中等)
Code source de la fonction [analogique numérique] MATLAB allcycles () (non disponible avant 2021a)
使用Thread类和Runnable接口实现多线程的区别
软件测试之网站测试如何进行?测试小攻略走起!
Common Oracle SQL statements
深耕开发者生态,加速AI产业创新发展 英特尔携众多合作伙伴共聚
Two methods of chromosome coordinate sequencing
JetBrain Pycharm的一系列快捷键
Analyse approfondie de kubebuilder
计数排序基础思路
树与图的深度优先遍历模版原理