प्रौद्योगिकी साझेदारी

[python appium] स्वचालित परीक्षण

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

python+appium स्वचालितपरीक्षणश्रृङ्खला अस्मिन् ब्लोग् मध्ये सारांशं कुर्मः।

सर्वप्रथमं अहं व्याख्यातुम् इच्छामि यत् एपीपी स्वचालितपरीक्षणस्य उपयोगः बहुभिः कम्पनीभिः न क्रियते, परन्तु अधिकांशस्वचालितपरीक्षणइञ्जिनीयरस्य वरिष्ठपरीक्षाइञ्जिनीयरस्य च कार्यनियुक्तिसूचनायाः अपि आवश्यकता वर्तते, अतः उत्तमं उपचारं प्राप्तुं अस्माकं अद्यापि आवश्यकता वर्तते तस्मिन् निपुणतायै समयं व्यतीतुं सर्वथा कस्य न च मम धनेन कष्टं भविष्यति।

तदनन्तरं APP UI स्वचालितपरीक्षणस्य विचारान् सारांशतः वदामः ।

1. विकासभाषाचयनम्
स्वचालितपरीक्षणार्थं सामान्यतया प्रयुक्ताः प्रोग्रामिंगभाषाः सन्ति : पायथन्, जावा, जावास्क्रिप्ट्, रूबी, सी#, पीएचपी इत्यादयः । सामान्यतया वयं स्वचालितस्क्रिप्ट् लिखितुं प्रोग्रामिंग् भाषां चिनोमः यस्याः परिचिताः स्मः, परन्तु येषां बालकानां कृते मूलतः प्रोग्रामिंग् आधारः शून्यः अस्ति (अथवा ये बालकाः स्वचालितपरीक्षणे केन्द्रीभवन्ति), तेषां कृते पायथन् इत्यस्य उपयोगं शिक्षितुं अनुशंसितम् अस्ति

अन्यभाषाभिः सह तुलने स्वचालितपरीक्षणार्थं पायथन् इत्यस्य निम्नलिखितलाभाः सन्ति ।

आरम्भकानां कृते पायथन् इत्यस्य संक्षिप्तवाक्यविन्यासः अस्ति, अत्यन्तं पठनीयः, शिक्षणं च सुलभः अस्ति ।

अत्र शक्तिशालिनः तृतीयपक्षीयपुस्तकालयाः सन्ति ये स्क्रिप्टिङ्ग् अधिकं कार्यक्षमं कुर्वन्ति ।

पायथन् इत्यस्मिन् Pytest स्वचालितपरीक्षणरूपरेखा वर्तमानकाले सर्वाधिकं लोकप्रियपरीक्षणरूपरेखासु अन्यतमम् अस्ति

2. UI परीक्षणरूपरेखाचयनम्
विकासभाषां चयनं कृत्वा अस्माभिः UI परीक्षणरूपरेखां चयनं कर्तव्यम् । सम्प्रति अधिकमुख्यधारायां अथवा व्यापकरूपेण प्रयुक्ताः APP UI स्वचालनपरीक्षणरूपरेखासु Appium, Airtest इत्यादयः सन्ति ।

१,अपियुम्
मुक्तस्रोत

Appium सर्वरः Windows, macOS, Linux इत्यत्र चालनस्य समर्थनं करोति

अनेकाः मुख्यधाराप्रोग्रामिंगभाषाः समर्थयति, यथा पायथन्, जावा, जावास्क्रिप्ट्, रूबी इत्यादयः ।

एण्ड्रॉयड्, ios, H5 स्वचालितपरीक्षणस्य समर्थनं (एकीकृतं UiAutomator, UiAutomation ढांचा)

पर्यावरणनिर्माणं अधिकं जटिलं भवति

2,वायुपरीक्षा
NetEase (आधिकारिकदस्तावेजः) द्वारा विकसितम्, केवलं python भाषा समर्थयति

Airtest तथा ​​Poco परीक्षणरूपरेखाः एकीकृत्य एकं शक्तिशालीं IDE प्रदाति, यत् नौसिखियानां कृते अतीव मैत्रीपूर्णम् अस्ति

airtest, इमेज-परिचय-आधारितं UI स्वचालित-परीक्षण-रूपरेखां एकीकृत्य, येन भवान् कोड् न अवगच्छति चेदपि स्वचालित-स्क्रिप्ट्-लेखनं कर्तुं शक्नोति ।

क्रॉस्-प्लेटफॉर्म, विण्डोज, एण्ड्रॉयड् तथा आईओएस एप्लिकेशन सॉफ्टवेयरस्य स्वचालितपरीक्षणं कर्तुं शक्नोति

क्रीडापरीक्षणाय अधिकं मैत्रीपूर्णम्

Airtest तथा ​​Poco मूलतः Python कृते तृतीयपक्षीयपुस्तकालयद्वयम् अस्ति परीक्षणवातावरणं Appium इव जटिलं नास्ति ।

3. फ्रेमं चिनोतु
वास्तविकस्थित्याधारितं समुचितं रूपरेखां चिनुत।

भवान् निम्नलिखितपरिस्थितौ NetEase’s Airtest (Airtest official website) इत्यस्मै प्राथमिकताम् अदातुम् अर्हति:

प्रोग्रामिंग् आधारः नास्ति

क्रीडापरीक्षणम्

परीक्षणस्य परिदृश्यं तुल्यकालिकरूपेण सरलम् अस्ति (Appium तुल्यकालिकरूपेण विशालः अस्ति) ।

Alipay mini program automation (ब्लॉगरः सम्प्रति Alipay mini program इत्यस्य स्वचालितपरीक्षणार्थं Airtest इत्यनेन सह एकीकृतस्य Poco framework इत्यस्य उपयोगं करोति)

निम्नलिखित परिस्थितिषु Appium इत्यस्य चयनं अनुशंसितम् अस्ति ।

परीक्षणपरिदृश्यं तुल्यकालिकरूपेण जटिलं भवति (उदाहरणार्थं बहुविधमोबाईलफोनानां बैचपरीक्षणम् आवश्यकम्)

परीक्षणलिपिभाषा पायथन् नास्ति (एयरटेस्ट् सम्प्रति केवलं पायथन् समर्थयति)

3. इकाईपरीक्षणरूपरेखाचयनम्
उपरि उल्लिखितस्य UI परीक्षणरूपरेखायाः भिन्नं, इकाईपरीक्षणरूपरेखायाः उपयोगः परीक्षणप्रकरणानाम् लोडीकरणाय, परीक्षणप्रकरणानाम् निष्पादनार्थं, आग्रहाय, परीक्षणपरिणामान् निर्गन्तुम् इत्यादिषु भवति

विभिन्नविकासभाषासु स्वकीयाः तत्सम्बद्धाः इकाईपरीक्षणरूपरेखाः सन्ति, यथा जावा कृते JUnit, TestNG, Robot इत्यादयः, पायथन् कृते unittest, pytest इत्यादयः । ब्लोगर् मुख्यतया स्वचालितपरीक्षणार्थं पायथन् इत्यस्य उपयोगं कुर्वन्ति, अतः अत्र वयं केवलं पायथन् यूनिट् परीक्षणरूपरेखां व्याख्यास्यामः ।

पायथनस्य मुख्यधारा-एककपरीक्षणरूपरेखा : १.

unittest, पायथन् इत्यस्य स्वस्य यूनिट् टेस्टिंग् फ्रेमवर्क्

pytest, unittest इत्यस्य आधारेण विकसितं, तस्य उपयोगः सुलभः, अधिकविस्तृतसूचना, अनेके प्लग-इन् च सन्ति ।

robot framework, Python इत्यस्य आधारेण कीवर्ड-सञ्चालितं परीक्षणरूपरेखा, यस्य अन्तरफलकं, अन्तः निर्मिताः रिपोर्ट् तथा लॉग्स्, सम्पूर्णानि कार्याणि, स्पष्टानि सुन्दराणि च सन्ति

अत्र pytest इत्यस्य उपयोगः दृढतया अनुशंसितः अस्ति, यत् शक्तिशाली अस्ति तथा च उपयोगाय सुलभम् अस्ति आधिकारिकदस्तावेजाः आङ्ग्लभाषायां सन्ति ।

4. परीक्षणपर्यावरणव्यवस्थापनम्
1. सङ्गणकचयनस्य परीक्षणं कुर्वन्तु
यदि सम्भवं तर्हि UI स्वचालनपरीक्षणार्थं विशेषतया Mac यन्त्रस्य उपयोगः अनुशंसितः, यतः ios app UI स्वचालनं केवलं Mac यन्त्रे एव कर्तुं शक्यते ।

2. मोबाईलफोनचयनस्य परीक्षणं कुर्वन्तु
यदा प्रथमवारं परीक्षणलिपिनां त्रुटिनिवारणं आरभते तदा भवान् एमुलेटर् चिन्वतु ।

सम्पूर्णस्य परीक्षणपरियोजनायाः विकासः समाप्तस्य अनन्तरं स्वचालितलिपिं चालयितुं वास्तविकयन्त्रं प्रति स्विच् कर्तुं अनुशंसितं भवति, यत् वास्तविकप्रयोक्तृप्रयोगपरिदृश्यस्य समीपे भविष्यति

3. विकास भाषा वातावरण
python 3 अथवा ततः उपरि संस्करणं संस्थापयितुं अनुशंसितम् अस्ति अधिकारी python2 संस्करणस्य अद्यतनीकरणं परिपालनं च स्थगितवान् ।

4. UI स्वचालनपरीक्षणरूपरेखा वातावरणनिर्माणम्
विण्डोज वातावरणे Appium इत्यस्य निर्माणं किञ्चित् अधिकं जटिलं भवति Mac इत्यस्य अन्तर्गतं Appium इत्यस्य निर्माणं पश्चात् साझां कर्तुं ब्लॉग् लिखिष्यामि।

यदि भवान् Airtest-रूपरेखां चिनोति तर्हि कृपया आधिकारिकजालस्थलं पश्यन्तु ।

5. लिपिलेखनम्
1. परीक्षणस्य प्रदर्शनं लिखन्तु
सम्पूर्णं परीक्षणवातावरणं सफलतया निर्मितं वा सामान्योदाहरणानि चालयितुं शक्यन्ते वा इति सत्यापयितुं सामान्यतया अस्माभिः सरलपरीक्षालिपिः लिखित्वा निष्पादितव्या यदि सा उत्तीर्णा भवति तर्हि सम्पूर्णं वातावरणं सफलतया निर्मितम् इति अर्थः

2. निर्देशिकासंरचना निर्धारयन्तु
APP UI स्वचालनपरीक्षापरियोजनानां विकासाय Page Object design pattern इत्यस्य उपयोगः अनुशंसितः अस्ति ।

3. परीक्षणप्रतिवेदनं चिनोतु
भिन्नाः विकासभाषाः भिन्नाः एककपरीक्षणरूपरेखाः च भिन्नपरीक्षाप्रतिवेदनानां उपयोगं कर्तुं शक्नुवन्ति । python इत्यस्मिन् unittest framework परीक्षणप्रतिवेदनानि जनयितुं HTMLTestRunner अथवा BSTestrunner इत्यस्य उपयोगं करोति । Pytest framework pytest-html इत्यस्य उपयोगं करोति रिपोर्ट् जनयितुं अथवा allure इत्यस्य माध्यमेन test reports इत्यस्य अनुकूलनार्थं ।

उपर्युक्तपदार्थानाम् समाप्तेः अनन्तरं परीक्षणप्रकल्पे परीक्षणप्रकरणं योजयितुं निरन्तरं कुर्वन्तु ।

6. जेन्किन्स् एकीकरणम्
उपर्युक्तपदार्थानाम् अनुसारं सम्पूर्णं एप् UI स्वचालनपरीक्षणपरियोजना लिखितस्य अनन्तरं, तथा च तत्कालं यावत् स्थिररूपेण चालितं भवति, ततः परं, भवान् Jenkins इत्यस्य एकीकरणस्य विषये विचारं कर्तुं शक्नोति।

7. सारांशः
सारांशतः APP UI स्वचालनं निम्नलिखितरीत्या कार्यान्वितुं शक्यते ।

1,पायथन + appium + unittest + HTMLTestRunner

२,पायथन् + अप्पियम + पायटेस्ट + पायटेस्ट-html / आकर्षणम्

3,पायथन + वायुपरीक्षण(AirtestIDE) .

4,पायथन + पोको + पायटेस्ट + पायटेस्ट-html / आकर्षण

वास्तविकस्थित्यानुसारं भवन्तः चयनं कर्तुं शक्नुवन्ति।

अन्ते मम लेखं सम्यक् पठन्तः सर्वेभ्यः धन्यवादं दातुम् इच्छामि यद्यपि अतीव मूल्यवान् वस्तु नास्ति तथापि यदि भवान् तस्य उपयोगं कर्तुं शक्नोति तर्हि प्रत्यक्षतया ग्रहीतुं शक्नोति।

इयं सूचना [सॉफ्टवेयरपरीक्षण] मित्राणां कृते सर्वाधिकं व्यापकं पूर्णं च सज्जतागोदामं भवितुमर्हति अयं गोदामः अपि दशसहस्राणि परीक्षण-इञ्जिनीयराणां सह कठिनतमयात्रायाः माध्यमेन गतः इति आशासे।