ක්‍රියාත්මක කිරීම, පරිමාණය: VTB හි ස්වයංක්‍රීය පරීක්ෂණ භාවිතා කිරීමේ අත්දැකීම්

අපගේ අංශය නිෂ්පාදන පරිසරයට යෙදුම්වල නව අනුවාදයන් දියත් කිරීම සඳහා සම්පූර්ණයෙන්ම ස්වයංක්‍රීය නල මාර්ග නිර්මාණය කරයි. ඇත්ත වශයෙන්ම, මෙය ස්වයංක්රීය ක්රියාකාරී පරීක්ෂණ අවශ්ය වේ. ප්‍රාදේශීය යන්ත්‍රයක තනි නූල් පරීක්‍ෂණයකින් පටන් ගෙන, අපි GitLab පිටු මත Allure වාර්තාවක් සමඟ ගොඩනැගීමේ නල මාර්ගයේ Selenoid මත ධාවනය වන බහු-නූල් ස්වයංක්‍රීය පරීක්‍ෂණයේ ස්ථානයට ළඟා වූ ආකාරය සහ අවසානයේ සිසිල් ස්වයංක්‍රීය මෙවලමක් ලබා ගත් ආකාරය පිළිබඳ කථාවක් කැපීමට පහළින් ඇත. අනාගත මිනිසුන්ට කණ්ඩායම් භාවිතා කළ හැකි බව.

ක්‍රියාත්මක කිරීම, පරිමාණය: VTB හි ස්වයංක්‍රීය පරීක්ෂණ භාවිතා කිරීමේ අත්දැකීම්

අපි පටන් ගත්තේ කොහෙන්ද?

ස්වයංක්‍රීය පරීක්ෂණ ක්‍රියාත්මක කිරීමට සහ ඒවා නල මාර්ගයට අනුකලනය කිරීමට, අපගේ අවශ්‍යතාවලට ගැලපෙන පරිදි නම්‍යශීලී ලෙස වෙනස් කළ හැකි ස්වයංක්‍රීයකරණ රාමුවක් අපට අවශ්‍ය විය. ඉතා මැනවින්, මට ස්වයංක්‍රීය පරීක්ෂණ එන්ජිම සඳහා තනි ප්‍රමිතියක් ලබා ගැනීමට අවශ්‍ය විය, ස්වයංක්‍රීය පරීක්ෂණ නල මාර්ගයට කාවැද්දීම සඳහා අනුගත විය. ක්රියාත්මක කිරීම සඳහා අපි පහත තාක්ෂණයන් තෝරා ගත්තෙමු:

  • ජාවා,
  • මාවන්,
  • සෙලේනියම්,
  • පිපිඤ්ඤා+JUNIT 4,
  • ආකර්ෂණය,
  • ගිට්ලැබ්.

ක්‍රියාත්මක කිරීම, පරිමාණය: VTB හි ස්වයංක්‍රීය පරීක්ෂණ භාවිතා කිරීමේ අත්දැකීම්

මෙම විශේෂිත කට්ටලය ඇයි? ජාවා යනු ස්වයංක්‍රීය පරීක්ෂණ සඳහා වඩාත් ජනප්‍රිය භාෂාවක් වන අතර සියලුම කණ්ඩායම් සාමාජිකයින් එය කථා කරයි. සෙලේනියම් යනු පැහැදිලි විසඳුමකි. පිපිඤ්ඤා, වෙනත් දේ අතර, අතින් පරීක්ෂාවට සම්බන්ධ දෙපාර්තමේන්තු වල ස්වයංක්‍රීය පරීක්ෂණවල ප්‍රති results ල පිළිබඳ විශ්වාසය වැඩි කිරීමට නියමිත විය.

තනි නූල් පරීක්ෂණ

රෝදය ප්‍රතිනිර්මාණය නොකිරීමට, අපි රාමුව සඳහා පදනම ලෙස GitHub හි විවිධ ගබඩාවලින් වර්ධනයන් ගෙන ඒවා අපටම අනුගත කළෙමු. අපි ප්‍රධාන පුස්තකාලය සඳහා ස්වයංක්‍රීය පරීක්ෂණ රාමුවේ හරය සහිත ගබඩාවක් සහ අපගේ හරයේ ස්වයංක්‍රීය පරීක්ෂණ ක්‍රියාත්මක කිරීමේ රන් උදාහරණයක් සහිත ගබඩාවක් නිර්මාණය කළෙමු. සෑම කණ්ඩායමකටම රන් රූපය ගෙන එය ඔවුන්ගේ ව්‍යාපෘතියට අනුවර්තනය කරමින් එහි පරීක්ෂණ සංවර්ධනය කිරීමට සිදු විය. අපි එය වින්‍යාස කළ GitLab-CI බැංකුව වෙත යෙදුවෙමු:

  • එක් එක් ව්‍යාපෘතිය සඳහා සියලුම ලිඛිත ස්වයංක්‍රීය පරීක්ෂණවල දෛනික ධාවනය;
  • ගොඩනැගීමේ නල මාර්ගයේ දියත් කරයි.

මුලදී පරීක්ෂණ කිහිපයක් තිබූ අතර ඒවා එක් ධාරාවකින් සිදු කරන ලදී. වින්ඩෝස් ධාවකය GitLab මත තනි-නූල් ධාවනය අපට හොඳින් ගැලපේ: පරීක්ෂණ පරීක්ෂණ බංකුව ඉතා සැහැල්ලුවෙන් පටවා ඇති අතර කිසිදු සම්පත් භාවිතා නොකළේය.

කාලයාගේ ඇවෑමෙන්, ස්වයංක්‍රීය පරීක්ෂණ සංඛ්‍යාව වැඩි වූ අතර, සම්පූර්ණ ධාවනයක් පැය තුනක් පමණ ගත වීමට පටන් ගත් විට, ඒවා සමාන්තරව ක්‍රියාත්මක කිරීම ගැන අපි සිතුවෙමු. වෙනත් ගැටළු ද මතු විය:

  • පරීක්ෂණ ස්ථාවර බව අපට තහවුරු කර ගැනීමට නොහැකි විය.
  • දේශීය යන්ත්‍රයේ පිට පිට කිහිප වතාවක් ධාවනය කරන ලද පරීක්ෂණ සමහර විට CI හි බිඳ වැටුණි.

ස්වයං පරීක්ෂණ පිහිටුවීමේ උදාහරණය:

<plugins>
	
<plugin>
    	
<groupId>org.apache.maven.plugins</groupId>
    	
<artifactId>maven-surefire-plugin</artifactId>
    	
<version>2.20</version>
    	
<configuration>
        	
<skipTests>${skipTests}</skipTests>
        	
<testFailureIgnore>false</testFailureIgnore>
        	
<argLine>
            	
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
            	
-Dcucumber.options="--tags ${TAGS} --plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm --plugin pretty"
        	
</argLine>
    	
</configuration>
	
    <dependencies>
        	
<dependency>
            	
<groupId>org.aspectj</groupId>
            	
<artifactId>aspectjweaver</artifactId>
            	
<version>${aspectj.version}</version>
        	
</dependency>
    	
</dependencies>
	
</plugin>
	
<plugin>
    	
<groupId>io.qameta.allure</groupId>
    	
<artifactId>allure-maven</artifactId>
    	
<version>2.9</version>
	
</plugin>
</plugins>

 ක්‍රියාත්මක කිරීම, පරිමාණය: VTB හි ස්වයංක්‍රීය පරීක්ෂණ භාවිතා කිරීමේ අත්දැකීම්
Allure වාර්තාව උදාහරණය

 ක්‍රියාත්මක කිරීම, පරිමාණය: VTB හි ස්වයංක්‍රීය පරීක්ෂණ භාවිතා කිරීමේ අත්දැකීම්
පරීක්ෂණ අතරතුර ධාවකය පැටවීම (8 හරය, 8 GB RAM, 1 නූල්)
 
තනි නූල් පරීක්ෂණවල වාසි:

  • සැකසීමට සහ ධාවනය කිරීමට පහසුය;
  • CI හි දියත් කිරීම් ප්‍රායෝගිකව දේශීය දියත් කිරීම් වලට වඩා වෙනස් නොවේ;
  • පරීක්ෂණ එකිනෙකට බලපාන්නේ නැත;
  • ධාවන සම්පත් සඳහා අවම අවශ්යතා.

තනි නූල් පරීක්ෂණවල අවාසි:

  • සම්පූර්ණ කිරීමට ඉතා දිගු කාලයක් ගත;
  • පරීක්ෂණ දිගු ස්ථායීකරණය;
  • ධාවකයන්ගේ සම්පත් අකාර්යක්ෂම ලෙස භාවිතා කිරීම, අතිශයින්ම අඩු භාවිතය.

JVM ගෑරුප්පු මත පරීක්ෂණ

මූලික රාමුව ක්‍රියාත්මක කිරීමේදී අපි නූල්-ආරක්ෂිත කේතය ගැන සැලකිල්ලක් නොදැක්වූ බැවින්, සමාන්තරව ධාවනය කිරීමේ වඩාත් පැහැදිලි ක්‍රමය වූයේ cucumber-jvm-සමාන්තර-ප්ලගිනය Maven සඳහා. ප්ලගිනය වින්‍යාස කිරීම පහසුය, නමුත් නිවැරදි සමාන්තර ක්‍රියාකාරිත්වය සඳහා, ස්වයංක්‍රීය පරීක්ෂණ වෙනම බ්‍රව්සර්වල ධාවනය කළ යුතුය. කරන්න දෙයක් නෑ, Selenoid පාවිච්චි කරන්න වුනා.

Selenoid සේවාදායකය 32 cores සහ 24 GB RAM සහිත යන්ත්‍රයක් මත දියත් කරන ලදී. සීමාව බ්‍රව්සර් 48ක් ලෙස සකසා ඇත - හරයකට නූල් 1,5ක් සහ 400 MB පමණ RAM. එහි ප්රතිඵලයක් වශයෙන්, පරීක්ෂණ කාලය පැය තුනේ සිට විනාඩි 40 දක්වා අඩු විය. ධාවනය වේගවත් කිරීම ස්ථායීකරණ ගැටළුව විසඳීමට උපකාරී විය: දැන් අපට නව ස්වයංක්‍රීය පරීක්ෂණ 20-30 වාරයක් ඉක්මනින් ධාවනය කළ හැකි අතර ඒවා විශ්වාසදායක ලෙස ධාවනය වන බව අපට සහතික විය.
විසඳුමේ පළමු අවාසිය නම් සමාන්තර නූල් කුඩා සංඛ්‍යාවක් සහිත ධාවකයන්ගේ සම්පත් අධික ලෙස භාවිතා කිරීමයි: මධ්‍ය 4 සහ 8 GB RAM මත, පරීක්ෂණ නූල් 6 කට නොඅඩු ස්ථායීව ක්‍රියාත්මක විය. දෙවන අවාසිය: ප්ලගිනය ඒවායින් කොපමණ ප්‍රමාණයක් දියත් කළද, එක් එක් අවස්ථාව සඳහා ධාවන පන්ති ජනනය කරයි.

වැදගත්! වෙත ටැග් සහිත විචල්‍යයක් ලබා නොදෙන්න argLine, උදාහරණයක් ලෙස, මේ වගේ:

<argLine>-Dcucumber.options="--tags ${TAGS} --plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm --plugin pretty"</argLine>
…
Mvn –DTAGS="@smoke"

ඔබ මේ ආකාරයෙන් ටැගය පසු කළහොත්, ප්ලගිනය සියලු පරීක්ෂණ සඳහා ධාවකයන් ජනනය කරයි, එනම්, එය සියලු පරීක්ෂණ ධාවනය කිරීමට උත්සාහ කරයි, දියත් කළ වහාම ඒවා මඟ හැර බොහෝ JVM ගෑරුප්පු නිර්මාණය කරයි.

ටැග් එකක් සහිත විචල්‍යයක් විසි කිරීම නිවැරදියි ටැග්ස් ප්ලගින සැකසුම් තුළ, පහත උදාහරණය බලන්න. අපි පරීක්‍ෂා කළ වෙනත් ක්‍රමවලට Allure ප්ලගිනය සම්බන්ධ කිරීමේ ගැටලු ඇත.

වැරදි සැකසුම් සහිත කෙටි පරීක්ෂණ 6ක් සඳහා ධාවන කාලය පිළිබඳ උදාහරණය:

[INFO] Total time: 03:17 min

ඔබ ටැගය කෙලින්ම මාරු කරන්නේ නම් පරීක්ෂණ ධාවන කාලය පිළිබඳ උදාහරණය mvn... –Dcucumber.options:

[INFO] Total time: 44.467 s

ස්වයං පරීක්ෂණ පිහිටුවීමේ උදාහරණය:

<profiles>
	
<profile>
    	
<id>parallel</id>
    	
<build>
        	
<plugins>
            	
<plugin>
                	
<groupId>com.github.temyers</groupId>
                	
<artifactId>cucumber-jvm-parallel-plugin</artifactId>
                	
<version>5.0.0</version>
                	
<executions>
                    	
<execution>
                        	
<id>generateRunners</id>
                        	
<phase>generate-test-sources</phase>
                        	
<goals>
                            	
<goal>generateRunners</goal>
                        	
</goals>
                        	
<configuration>
                	
            <tags>
                            	
<tag>${TAGS}</tag>
                            	
</tags>
                            	
<glue>
                                	
<package>stepdefs</package>
                            	
</glue>
                        	
</configuration>
     	
               </execution>
                	
</executions>
    	
        </plugin>
            	
<plugin>
                	
<groupId>org.apache.maven.plugins</groupId>
                	
<artifactId>maven-surefire-plugin</artifactId>
        	
        <version>2.21.0</version>
                	
<configuration>
                    	
<forkCount>12</forkCount>
                    	
<reuseForks>false</reuseForks>
                    	
<includes>**/*IT.class</includes>
                   	
 <testFailureIgnore>false</testFailureIgnore>
                    	
<!--suppress UnresolvedMavenProperty -->
                    	
<argLine>
  	
 -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" -Dcucumber.options="--plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm TagPFAllureReporter --plugin pretty"
                    	
</argLine>
                	
</configuration>
                	
<dependencies>
                    	
<dependency>
                        	
<groupId>org.aspectj</groupId>
                        	
<artifactId>aspectjweaver</artifactId>
                        	
<version>${aspectj.version}</version>
                 	
   </dependency>
                	
</dependencies>
         	
   </plugin>
        	
</plugins>
    	
</build>
	
</profile>

ක්‍රියාත්මක කිරීම, පරිමාණය: VTB හි ස්වයංක්‍රීය පරීක්ෂණ භාවිතා කිරීමේ අත්දැකීම්
Allure වාර්තාවක උදාහරණය (වඩාත්ම අස්ථායී පරීක්ෂණය, නැවත ධාවනය 4)

ක්‍රියාත්මක කිරීම, පරිමාණය: VTB හි ස්වයංක්‍රීය පරීක්ෂණ භාවිතා කිරීමේ අත්දැකීම්පරීක්ෂණ අතරතුර ධාවකය පැටවීම (8 හරය, 8 GB RAM, නූල් 12)
 
වාසි:

  • පහසු සැකසුම - ඔබට ප්ලගිනයක් එක් කිරීමට අවශ්‍ය වේ;
  • එකවර පරීක්ෂණ විශාල සංඛ්යාවක් සිදු කිරීමේ හැකියාව;
  • 1 පියවරට ස්තූතිවන්ත වන පරිදි පරීක්ෂණ ස්ථායීකරණය වේගවත් කිරීම. 

එය:

  • බහු OS/කන්ටේනර් අවශ්‍යයි;
  • එක් එක් දෙබලක සඳහා ඉහළ සම්පත් පරිභෝජනය;
  • ප්ලගිනය යල් පැන ගිය අතර තවදුරටත් සහාය නොදක්වයි. 

අස්ථාවරත්වය ජය ගන්නේ කෙසේද 

ස්වයංක්‍රීය පරීක්ෂණ මෙන් පරීක්ෂණ බංකු සුදුසු නොවේ. අප සතුව දුර්වල පරීක්ෂණ ගණනාවක් තිබීම පුදුමයක් නොවේ. පිහිටට ආවා maven surefire ප්ලගිනය, අසාර්ථක පරීක්ෂණ නැවත ආරම්භ කිරීම සඳහා කොටුවෙන් පිටත සහාය දක්වයි. ඔබ ප්ලගින අනුවාදය අවම වශයෙන් 2.21 දක්වා යාවත්කාලීන කළ යුතු අතර pom ගොනුවේ නැවත ආරම්භ කිරීම් ගණන සමඟ එක් පේළියක් ලිවීමට හෝ එය තර්කයක් ලෙස Maven වෙත ලබා දිය යුතුය.

ස්වයං පරීක්ෂණ පිහිටුවීමේ උදාහරණය:

   	
<plugin>
        	
<groupId>org.apache.maven.plugins</groupId>
  	
      <artifactId>maven-surefire-plugin</artifactId>
        	
<version>2.21.0</version>
        	
<configuration>
           	
….
            	
<rerunFailingTestsCount>2</rerunFailingTestsCount>
            	
….
            	
</configuration>
</plugin>

හෝ ආරම්භයේදී: mvn … -Dsurefire.rerunFailingTestsCount=2 …
විකල්පයක් ලෙස, PowerShell script (PS1) සඳහා Maven විකල්ප සකසන්න:

  
Set-Item Env:MAVEN_OPTS "-Dfile.encoding=UTF-8 -Dsurefire.rerunFailingTestsCount=2"

වාසි:

  • අස්ථායී පරීක්ෂණයක් කඩා වැටෙන විට එය විශ්ලේෂණය කිරීමට කාලය නාස්ති කිරීම අවශ්ය නොවේ;
  • පරීක්ෂණ බංකු ස්ථායිතා ගැටළු අවම කර ගත හැක.

එය:

  • පාවෙන දෝෂ මඟ හැරිය හැක;
  • ධාවන කාලය වැඩි වේ.

පිපිඤ්ඤා 4 පුස්තකාලය සමඟ සමාන්තර පරීක්ෂණ

සෑම දිනකම පරීක්ෂණ සංඛ්යාව වැඩි විය. අපි ආයෙත් හිතුවා දුවන වේගය වැඩි කරන්න. ඊට අමතරව, යෙදුම් එකලස් කිරීමේ නල මාර්ගයට හැකි තරම් පරීක්ෂණ ඒකාබද්ධ කිරීමට මට අවශ්‍ය විය. තීරණාත්මක සාධකය වූයේ Maven ප්ලගිනය භාවිතයෙන් සමාන්තරව ධාවනය වන විට ධාවකයන්ගේ පරම්පරාවට වැඩි කාලයක් ගත වීමයි.

ඒ වන විට, පිපිඤ්ඤා 4 දැනටමත් නිකුත් කර ඇත, එබැවින් අපි මෙම අනුවාදය සඳහා කර්නලය නැවත ලිවීමට තීරණය කළෙමු. නිකුතු සටහන් වල අපට පොරොන්දම් මට්ටමින් සමාන්තර දියත් කිරීමට පොරොන්දු විය. න්‍යායාත්මකව එය තිබිය යුත්තේ:

  • නූල් ගණන වැඩි කිරීමෙන් ස්වයංක්‍රීය පරීක්ෂණ ක්‍රියාත්මක කිරීම සැලකිය යුතු ලෙස වේගවත් කරයි;
  • එක් එක් autotest සඳහා ධාවකයන් උත්පාදනය කිරීමේ කාලය අහිමි වීම ඉවත් කරන්න.

බහු-නූල් ස්වයංක්‍රීය පරීක්ෂණ සඳහා රාමුව ප්‍රශස්ත කිරීම එතරම් අපහසු නොවේ. පිපිඤ්ඤා 4 එක් එක් පරීක්ෂණය ආරම්භයේ සිට අවසානය දක්වා කැපවූ නූල් මත ධාවනය කරයි, එබැවින් සමහර පොදු ස්ථිතික දේවල් සරලව ThreadLocal විචල්‍යයන් බවට පරිවර්තනය කරන ලදී. 
Idea refactoring tools භාවිතයෙන් පරිවර්තනය කිරීමේදී ප්‍රධානතම දෙය වන්නේ විචල්‍යය සංසන්දනය කළ ස්ථාන පරීක්ෂා කිරීමයි (උදාහරණයක් ලෙස, null සඳහා පරීක්ෂා කිරීම). ඊට අමතරව, ඔබ Junit Runner class annotation වෙත Allure ප්ලගිනය එක් කළ යුතුය.

ස්වයං පරීක්ෂණ පිහිටුවීමේ උදාහරණය:

 
<profile>
	
<id>parallel</id>
	
<build>
    	
<plugins>
        	
<plugin>
            	
<groupId>org.apache.maven.plugins</groupId>
 	
           <artifactId>maven-surefire-plugin</artifactId>
            	
<version>3.0.0-M3</version>
   	
         <configuration>
                	
<useFile>false</useFile>
                	
<testFailureIgnore>false</testFailureIgnore>
        	
        <parallel>methods</parallel>
                	
<threadCount>6</threadCount>
                	
<perCoreThreadCount>true</perCoreThreadCount>
                	
<argLine>
                    	
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                	
</argLine>
            	
</configuration>
            	
<dependencies>
                	
<dependency>
                    	
<groupId>org.aspectj</groupId>
   	
                 <artifactId>aspectjweaver</artifactId>
                    	
<version>${aspectj.version}</version>
                	
</dependency>
            	
</dependencies>
        	
</plugin>
    	
</plugins>
	
</build>
</profile>

ක්‍රියාත්මක කිරීම, පරිමාණය: VTB හි ස්වයංක්‍රීය පරීක්ෂණ භාවිතා කිරීමේ අත්දැකීම්Allure වාර්තාවක උදාහරණය (වඩාත්ම අස්ථායී පරීක්ෂණය, නැවත ධාවනය 5)

ක්‍රියාත්මක කිරීම, පරිමාණය: VTB හි ස්වයංක්‍රීය පරීක්ෂණ භාවිතා කිරීමේ අත්දැකීම්පරීක්ෂණ අතරතුර ධාවකය පැටවීම (8 හරය, 8 GB RAM, නූල් 24)

වාසි:

  • අඩු සම්පත් පරිභෝජනය;
  • පිපිඤ්ඤා සිට දේශීය සහාය - අමතර මෙවලම් අවශ්ය නොවේ;
  • ප්‍රොසෙසර හරයකට නූල් 6කට වඩා ධාවනය කිරීමේ හැකියාව.

එය:

  • කේතය බහු-නූල් ක්‍රියාත්මක කිරීමට සහය දක්වන බව ඔබ සහතික කළ යුතුය;
  • ඇතුල්වීමේ සීමාව වැඩිවේ.

GitLab පිටු මත Allure වාර්තා

බහු-නූල් ක්‍රියාත්මක කිරීම හඳුන්වා දීමෙන් පසු, අපි වාර්තා විශ්ලේෂණය කිරීමට වැඩි කාලයක් ගත කිරීමට පටන් ගත්තෙමු. එකල අපට සිදු වූයේ එක් එක් වාර්තාව කෞතුක වස්තුවක් ලෙස GitLab වෙත උඩුගත කර, පසුව එය බාගත කර එය ඉවත් කිරීමට ය. එය ඉතා පහසු නොවන අතර බොහෝ කාලයක් ගත වේ. තවද වෙනත් කෙනෙකුට වාර්තාව තමන්ටම බැලීමට අවශ්‍ය නම්, ඔවුන්ටද එම මෙහෙයුම් සිදු කිරීමට අවශ්‍ය වනු ඇත. අපට ප්‍රතිපෝෂණ වේගයෙන් ලබා ගැනීමට අවශ්‍ය වූ අතර, අපි විසඳුමක් සොයා ගත්තෙමු - GitLab පිටු. මෙය GitLab හි සියලුම මෑත සංස්කරණවල කොටුවෙන් පිටත ලබා ගත හැකි අංගසම්පූර්ණ අංගයකි. ඔබගේ සේවාදායකයේ ස්ථිතික අඩවි යෙදවීමට සහ සෘජු සබැඳියක් හරහා ඒවාට ප්‍රවේශ වීමට ඔබට ඉඩ සලසයි.

Allure වාර්තා වල සියලුම තිරපිටපත් GitLab පිටුවල ගන්නා ලදී. GitLab පිටු වෙත වාර්තාව යෙදවීම සඳහා ස්ක්‍රිප්ට් - Windows PowerShell හි (මෙයට පෙර ඔබ ස්වයංක්‍රීය පරීක්ෂණ ධාවනය කළ යුතුය):

New-Item -ItemType directory -Path $testresulthistory | Out-Null

try {Invoke-WebRequest -Uri $hst -OutFile $outputhst}
Catch{echo "fail copy history"}
try {Invoke-WebRequest -Uri $hsttrend -OutFile $outputhsttrnd}
Catch{echo "fail copy history trend"}

mvn allure:report
#mvn assembly:single -PzipAllureReport
xcopy $buildlocationtargetsiteallure-maven-plugin* $buildlocationpublic /s /i /Y

අවසාන කරුණ කුමක්ද? 

එබැවින්, පිපිඤ්ඤා ස්වයංක්‍රීය පරීක්ෂණ රාමුව තුළ ඔබට නූල් ආරක්ෂිත කේතයක් අවශ්‍ය දැයි ඔබ සිතන්නේ නම්, දැන් පිළිතුර පැහැදිලිය - පිපිඤ්ඤා 4 සමඟ එය ක්‍රියාත්මක කිරීම පහසුය, එමඟින් එකවර දියත් කරන ලද නූල් ගණන සැලකිය යුතු ලෙස වැඩි කරයි. මෙම ධාවන පරීක්ෂණ ක්‍රමය සමඟින්, දැන් ප්‍රශ්නය වන්නේ සෙලිනොයිඩ් සහ පරීක්ෂණ බංකුව සමඟ යන්ත්‍රයේ ක්‍රියාකාරිත්වය පිළිබඳව ය.

ප්‍රායෝගිකව පෙන්වා දී ඇත්තේ නූල් මත ස්වයංක්‍රීය පරීක්ෂණ ධාවනය කිරීමෙන් ඔබට හොඳම කාර්ය සාධනය සමඟ සම්පත් පරිභෝජනය අවම කිරීමට ඉඩ සලසයි. ප්‍රස්ථාර වලින් දැකිය හැකි පරිදි, නූල් ද්විත්ව කිරීම කාර්ය සාධන පරීක්ෂණ වලදී සමාන ත්වරණයකට තුඩු නොදේ. කෙසේ වෙතත්, යෙදුම් ගොඩනැගීමට ස්වයංක්‍රීය පරීක්ෂණ 2 කට වඩා එකතු කිරීමට අපට හැකි විය, එය නැවත ධාවනය 200ක් සමඟ වුවද මිනිත්තු 5කින් පමණ ක්‍රියාත්මක වේ. මෙය ඔබට ඔවුන්ගෙන් ඉක්මන් ප්‍රතිපෝෂණ ලබා ගැනීමට ඉඩ සලසයි, අවශ්‍ය නම්, වෙනස්කම් සිදු කර නැවත ක්‍රියා පටිපාටිය නැවත කරන්න.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න