当前位置:网站首页>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
边栏推荐
- acwing 843. N-queen problem
- JDBC link Oracle reference code
- 为什么很多人对技术债务产生误解
- How to conduct website testing of software testing? Test strategy let's go!
- A picture to understand! Why did the school teach you coding but still not
- npm ERR! 400 Bad Request - PUT xxx - “devDependencies“ dep “xx“ is not a valid dependency name
- 九章云极DataCanvas公司蝉联中国机器学习平台市场TOP 3
- C语言中函数指针与指针函数
- 架构实战训练营|课后作业|模块 6
- 微信能开小号了,拼多多“砍一刀”被判侵权,字节VR设备出货量全球第二,今日更多大新闻在此
猜你喜欢

深入解析Kubebuilder

NTU notes 6422quiz review (1-3 sections)

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

Have you got the same "artifact" of cross architecture development praised by various industry leaders?

九章云极DataCanvas公司摘获「第五届数字金融创新大赛」最高荣誉!
![[hand torn STL] list](/img/aa/7060ab20b41936419041067cf9daed.jpg)
[hand torn STL] list

Chapter 9 Yunji datacanvas was rated as 36 krypton "the hard core technology enterprise most concerned by investors"

Common methods of list and map

A simple and beautiful regression table is produced in one line of code~

How to package the parsed Excel data into objects and write this object set into the database?
随机推荐
【Android Kotlin协程】利用CoroutineContext实现网络请求失败后重试逻辑
Some understandings about 01 backpacker
关于01背包个人的一些理解
Can I specify a path in an attribute to map a property in my class to a child property in my JSON?
How to open win11 remote desktop connection? Five methods of win11 Remote Desktop Connection
Wechat can play the trumpet. Pinduoduo was found guilty of infringement. The shipment of byte VR equipment ranks second in the world. Today, more big news is here
Camera calibration (I): robot hand eye calibration
Detect when a tab bar item is pressed
C语言中函数指针与指针函数
Complimentary tickets quick grab | industry bigwigs talk about the quality and efficiency of software qecon conference is coming
JS input and output
npm ERR! 400 Bad Request - PUT xxx - “devDependencies“ dep “xx“ is not a valid dependency name
Terms used in the Web3 community
Case reward: Intel brings many partners to promote the innovation and development of multi domain AI industry
A series of shortcut keys for jetbrain pychar
A simple and beautiful regression table is produced in one line of code~
Network Security Learning - Information Collection
Acl2022 | decomposed meta learning small sample named entity recognition
图灵诞辰110周年,智能机器预言成真了吗?
You can't sell the used lithography machine to China! The United States unreasonably pressured the Dutch ASML, and domestic chips were suppressed again