ನನ್ನ ಹೆಸರು ಡಿಮಿಟ್ರಿ, ನಾನು ಕಂಪನಿಯಲ್ಲಿ ಪರೀಕ್ಷಕನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತೇನೆ
ಇದಕ್ಕೂ ಮೊದಲು, ನಾನು ಈಗಾಗಲೇ ಆಂಡ್ರಾಯ್ಡ್ಗಾಗಿ ಫೈರ್ಬೇಸ್ ಟೆಸ್ಟ್ ಲ್ಯಾಬ್ ಅನ್ನು ಪ್ರಯತ್ನಿಸಿದ್ದೇನೆ ಮತ್ತು ಎಲ್ಲವನ್ನೂ ನಿಜವಾಗಿಯೂ ಇಷ್ಟಪಟ್ಟಿದ್ದೇನೆ, ಆದ್ದರಿಂದ ಯೋಜನೆಯ ಐಒಎಸ್ ಪರೀಕ್ಷಾ ಮೂಲಸೌಕರ್ಯವನ್ನು ಅದೇ ಹೆಜ್ಜೆಯಲ್ಲಿ ಇರಿಸಲು ನಾನು ನಿರ್ಧರಿಸಿದೆ. ನಾನು ಬಹಳಷ್ಟು Google ಮಾಡಬೇಕಾಗಿತ್ತು ಮತ್ತು ಎಲ್ಲವೂ ಮೊದಲ ಬಾರಿಗೆ ಕೆಲಸ ಮಾಡಲಿಲ್ಲ, ಆದ್ದರಿಂದ ನಾನು ಇನ್ನೂ ಹೆಣಗಾಡುತ್ತಿರುವವರಿಗೆ ಟ್ಯುಟೋರಿಯಲ್ ಲೇಖನವನ್ನು ಬರೆಯಲು ನಿರ್ಧರಿಸಿದೆ.
ಆದ್ದರಿಂದ, ನೀವು iOS ಪ್ರಾಜೆಕ್ಟ್ನಲ್ಲಿ UI ಪರೀಕ್ಷೆಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಗುಡ್ ಕಾರ್ಪೊರೇಷನ್ ದಯೆಯಿಂದ ಒದಗಿಸಿದ ನೈಜ ಸಾಧನಗಳಲ್ಲಿ ನೀವು ಈಗಾಗಲೇ ಅವುಗಳನ್ನು ಚಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಬಹುದು. ಆಸಕ್ತರಿಗೆ, ಬೆಕ್ಕುಗೆ ಸ್ವಾಗತ.
ಕಥೆಯಲ್ಲಿ, ನಾನು ಕೆಲವು ಆರಂಭಿಕ ಡೇಟಾವನ್ನು ನಿರ್ಮಿಸಲು ನಿರ್ಧರಿಸಿದೆ - GitHub ನಲ್ಲಿ ಖಾಸಗಿ ರೆಪೊಸಿಟರಿ ಮತ್ತು CircleCI ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್. ಅಪ್ಲಿಕೇಶನ್ ಹೆಸರು AmazingApp, bundleID com.company.amazingapp ಆಗಿದೆ. ನಂತರದ ಗೊಂದಲವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ನಾನು ಈ ಡೇಟಾವನ್ನು ತಕ್ಷಣವೇ ಪ್ರಸ್ತುತಪಡಿಸುತ್ತೇನೆ.
ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ನಲ್ಲಿ ನೀವು ಕೆಲವು ಪರಿಹಾರಗಳನ್ನು ವಿಭಿನ್ನವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದರೆ, ನಿಮ್ಮ ಅನುಭವವನ್ನು ಕಾಮೆಂಟ್ಗಳಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಿ.
1. ಪರೀಕ್ಷೆಗಳು ಸ್ವತಃ
UI ಪರೀಕ್ಷೆಗಳಿಗಾಗಿ ಹೊಸ ಪ್ರಾಜೆಕ್ಟ್ ಶಾಖೆಯನ್ನು ರಚಿಸಿ:
$ git checkout develop
$ git pull
$ git checkout -b “feature/add-ui-tests”
ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು XCode ನಲ್ಲಿ ತೆರೆಯೋಣ ಮತ್ತು UI ಪರೀಕ್ಷೆಗಳೊಂದಿಗೆ ಹೊಸ ಟಾರ್ಗೆಟ್ ಅನ್ನು ರಚಿಸೋಣ [XCode -> File -> New -> Target -> iOS Testing Bundle], ಅದಕ್ಕೆ AmazingAppUITests ಎಂಬ ಸ್ವಯಂ ವಿವರಣಾತ್ಮಕ ಹೆಸರನ್ನು ನೀಡುತ್ತದೆ.
ರಚಿಸಿದ ಟಾರ್ಗೆಟ್ನ ಬಿಲ್ಡ್ ಹಂತಗಳ ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ ಮತ್ತು ಟಾರ್ಗೆಟ್ ಅವಲಂಬನೆಗಳ ಉಪಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಿ - ಅಮೇಜಿಂಗ್ಆಪ್, ಕಂಪೈಲ್ ಮೂಲಗಳಲ್ಲಿ - AmazingAppUITests.swift.
ವಿಭಿನ್ನ ನಿರ್ಮಾಣ ಆಯ್ಕೆಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಯೋಜನೆಗಳಾಗಿ ಪ್ರತ್ಯೇಕಿಸುವುದು ಉತ್ತಮ ಅಭ್ಯಾಸವಾಗಿದೆ. ನಾವು ನಮ್ಮ UI ಪರೀಕ್ಷೆಗಳಿಗೆ [XCode -> ಉತ್ಪನ್ನ -> ಯೋಜನೆ -> ಹೊಸ ಯೋಜನೆ] ಸ್ಕೀಮ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ಅದಕ್ಕೆ ಅದೇ ಹೆಸರನ್ನು ನೀಡುತ್ತೇವೆ: AmazingAppUITests.
ರಚಿಸಲಾದ ಸ್ಕೀಮ್ನ ನಿರ್ಮಾಣವು ಮುಖ್ಯ ಅಪ್ಲಿಕೇಶನ್ನ ಗುರಿಯನ್ನು ಒಳಗೊಂಡಿರಬೇಕು - AmazingApp ಮತ್ತು ಟಾರ್ಗೆಟ್ UI ಪರೀಕ್ಷೆಗಳು - AmazingAppUITests - ಸ್ಕ್ರೀನ್ಶಾಟ್ ನೋಡಿ
ಮುಂದೆ, ನಾವು UI ಪರೀಕ್ಷೆಗಳಿಗಾಗಿ ಹೊಸ ಬಿಲ್ಡ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ. XCode ನಲ್ಲಿ, ಪ್ರಾಜೆಕ್ಟ್ ಫೈಲ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಮಾಹಿತಿ ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ. “+” ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಹೊಸ ಸಂರಚನೆಯನ್ನು ರಚಿಸಿ, ಉದಾಹರಣೆಗೆ XCtest. ಕೋಡ್ ಸಹಿ ಮಾಡಲು ಬಂದಾಗ ತಂಬೂರಿಯೊಂದಿಗೆ ನೃತ್ಯ ಮಾಡುವುದನ್ನು ತಪ್ಪಿಸಲು ಭವಿಷ್ಯದಲ್ಲಿ ನಮಗೆ ಇದು ಅಗತ್ಯವಿದೆ.
ನಿಮ್ಮ ಯೋಜನೆಯಲ್ಲಿ ಕನಿಷ್ಠ ಮೂರು ಗುರಿಗಳಿವೆ: ಮುಖ್ಯ ಅಪ್ಲಿಕೇಶನ್, ಘಟಕ ಪರೀಕ್ಷೆಗಳು (ಎಲ್ಲಾ ನಂತರ, ಅವು ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ, ಸರಿ?) ಮತ್ತು ನಾವು ರಚಿಸಿದ ಟಾರ್ಗೆಟ್ UI ಪರೀಕ್ಷೆಗಳು.
ಟಾರ್ಗೆಟ್ ಅಮೇಜಿಂಗ್ಆಪ್, ಬಿಲ್ಡ್ ಸೆಟ್ಟಿಂಗ್ಸ್ ಟ್ಯಾಬ್, ಕೋಡ್ ಸೈನಿಂಗ್ ಐಡೆಂಟಿಟಿ ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ. XCtest ಕಾನ್ಫಿಗರೇಶನ್ಗಾಗಿ, iOS ಡೆವಲಪರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ. ಕೋಡ್ ಸಹಿ ಮಾಡುವ ಶೈಲಿ ವಿಭಾಗದಲ್ಲಿ, ಕೈಪಿಡಿಯನ್ನು ಆಯ್ಕೆಮಾಡಿ. ನಾವು ಇನ್ನೂ ಒದಗಿಸುವ ಪ್ರೊಫೈಲ್ ಅನ್ನು ರಚಿಸಿಲ್ಲ, ಆದರೆ ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ನಾವು ಖಂಡಿತವಾಗಿಯೂ ಅದಕ್ಕೆ ಹಿಂತಿರುಗುತ್ತೇವೆ.
Target AmazingAppUITests ಗಾಗಿ ನಾವು ಅದೇ ರೀತಿ ಮಾಡುತ್ತೇವೆ, ಆದರೆ ಉತ್ಪನ್ನ ಬಂಡಲ್ ಐಡೆಂಟಿಫೈಯರ್ ಕಾಲಮ್ನಲ್ಲಿ ನಾವು com.company.amazingappuitests ಅನ್ನು ನಮೂದಿಸುತ್ತೇವೆ.
2. ಆಪಲ್ ಡೆವಲಪರ್ ಪ್ರೋಗ್ರಾಂನಲ್ಲಿ ಯೋಜನೆಯನ್ನು ಹೊಂದಿಸುವುದು
Apple ಡೆವಲಪರ್ ಪ್ರೋಗ್ರಾಂ ಪುಟಕ್ಕೆ ಹೋಗಿ, ಪ್ರಮಾಣಪತ್ರಗಳು, ಗುರುತಿಸುವಿಕೆಗಳು ಮತ್ತು ಪ್ರೊಫೈಲ್ಗಳ ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ ಮತ್ತು ನಂತರ ಐಡೆಂಟಿಫೈಯರ್ಗಳ ಐಟಂನ ಅಪ್ಲಿಕೇಶನ್ ಐಡಿಗಳ ಕಾಲಮ್ಗೆ ಹೋಗಿ. AmazingAppUITests ಮತ್ತು bundleID com.company.amazingappuitests ಎಂಬ ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ ಐಡಿ ರಚಿಸಿ.
ಈಗ ಪ್ರತ್ಯೇಕ ಪ್ರಮಾಣಪತ್ರದೊಂದಿಗೆ ನಮ್ಮ ಪರೀಕ್ಷೆಗಳಿಗೆ ಸಹಿ ಹಾಕಲು ನಮಗೆ ಅವಕಾಶವಿದೆ, ಆದರೆ... ಪರೀಕ್ಷೆಗಾಗಿ ಬಿಲ್ಡ್ ಅನ್ನು ಜೋಡಿಸುವ ವಿಧಾನವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸ್ವತಃ ಜೋಡಿಸುವುದು ಮತ್ತು ಪರೀಕ್ಷಾ ರನ್ನರ್ ಅನ್ನು ಜೋಡಿಸುವುದು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಅಂತೆಯೇ, ಒಂದು ಒದಗಿಸುವ ಪ್ರೊಫೈಲ್ನೊಂದಿಗೆ ಎರಡು ಬಂಡಲ್ ಐಡಿಗಳಿಗೆ ಸಹಿ ಮಾಡುವ ಸಮಸ್ಯೆಯನ್ನು ನಾವು ಎದುರಿಸುತ್ತಿದ್ದೇವೆ. ಅದೃಷ್ಟವಶಾತ್, ಸರಳ ಮತ್ತು ಸೊಗಸಾದ ಪರಿಹಾರವಿದೆ - ವೈಲ್ಡ್ಕಾರ್ಡ್ ಅಪ್ಲಿಕೇಶನ್ ಐಡಿ. ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ ಐಡಿಯನ್ನು ರಚಿಸುವ ವಿಧಾನವನ್ನು ನಾವು ಪುನರಾವರ್ತಿಸುತ್ತೇವೆ, ಆದರೆ ಸ್ಪಷ್ಟವಾದ ಅಪ್ಲಿಕೇಶನ್ ಐಡಿ ಬದಲಿಗೆ, ಸ್ಕ್ರೀನ್ಶಾಟ್ನಲ್ಲಿರುವಂತೆ ವೈಲ್ಡ್ಕಾರ್ಡ್ ಅಪ್ಲಿಕೇಶನ್ ಐಡಿ ಆಯ್ಕೆಮಾಡಿ.
ಈ ಹಂತದಲ್ಲಿ, ನಾವು developer.apple.com ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿದ್ದೇವೆ, ಆದರೆ ನಾವು ಬ್ರೌಸರ್ ವಿಂಡೋವನ್ನು ಕಡಿಮೆ ಮಾಡುವುದಿಲ್ಲ. ಗೆ ಹೋಗೋಣ
ಈ ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸಲು ನಮಗೆ ಖಾಸಗಿ ರೆಪೊಸಿಟರಿ ಮತ್ತು ಆಪಲ್ ಡೆವಲಪರ್ ಪ್ರೋಗ್ರಾಂ ಮತ್ತು ಗಿಥಬ್ ಎರಡಕ್ಕೂ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುವ ಖಾತೆಯ ಅಗತ್ಯವಿದೆ ಎಂದು ಗಮನಿಸುವ ಓದುಗರು ಗಮನಿಸಿದ್ದಾರೆ. ನಾವು ರೂಪದ ಖಾತೆಯನ್ನು ರಚಿಸುತ್ತೇವೆ (ಇದ್ದಕ್ಕಿದ್ದಂತೆ ಅಂತಹ ವಿಷಯವಿಲ್ಲದಿದ್ದರೆ). [ಇಮೇಲ್ ರಕ್ಷಿಸಲಾಗಿದೆ], ಬಲವಾದ ಪಾಸ್ವರ್ಡ್ನೊಂದಿಗೆ ಬನ್ನಿ, ಅದನ್ನು developer.apple.com ನಲ್ಲಿ ನೋಂದಾಯಿಸಿ ಮತ್ತು ಅದನ್ನು ಪ್ರಾಜೆಕ್ಟ್ ನಿರ್ವಾಹಕರಾಗಿ ನೇಮಿಸಿ. ಮುಂದೆ, ನಾವು ನಿಮ್ಮ ಕಂಪನಿಯ ಗಿಥಬ್ ರೆಪೊಸಿಟರಿಗೆ ಖಾತೆಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡುತ್ತೇವೆ ಮತ್ತು AmazingAppMatch ನಂತಹ ಹೆಸರಿನೊಂದಿಗೆ ಹೊಸ ಖಾಸಗಿ ರೆಪೊಸಿಟರಿಯನ್ನು ರಚಿಸುತ್ತೇವೆ.
3. ಫಾಸ್ಟ್ಲೇನ್ ಮತ್ತು ಪಂದ್ಯದ ಉಪಯುಕ್ತತೆಯನ್ನು ಹೊಂದಿಸುವುದು
ಟರ್ಮಿನಲ್ ತೆರೆಯಿರಿ, ಯೋಜನೆಯೊಂದಿಗೆ ಫೋಲ್ಡರ್ಗೆ ಹೋಗಿ ಮತ್ತು ಸೂಚಿಸಿದಂತೆ ಫಾಸ್ಟ್ಲೇನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ
$ fastlane init
ಲಭ್ಯವಿರುವ ಬಳಕೆಯ ಸಂರಚನೆಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ನಿಮ್ಮನ್ನು ಕೇಳಲಾಗುತ್ತದೆ. ನಾಲ್ಕನೇ ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ - ಹಸ್ತಚಾಲಿತ ಯೋಜನೆಯ ಸೆಟಪ್.
ಯೋಜನೆಯು ಹೊಸ ಡೈರೆಕ್ಟರಿ ಫಾಸ್ಟ್ಲೇನ್ ಅನ್ನು ಹೊಂದಿದೆ, ಇದು ಎರಡು ಫೈಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ - Appfile ಮತ್ತು Fastfile. ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಹೇಳುವುದಾದರೆ, ನಾವು Appfile ನಲ್ಲಿ ಸೇವಾ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತೇವೆ ಮತ್ತು Fastlane ಪರಿಭಾಷೆಯಲ್ಲಿ ಲೇನ್ಗಳು ಎಂದು ಕರೆಯಲ್ಪಡುವ Fastfile ನಲ್ಲಿ ಉದ್ಯೋಗಗಳನ್ನು ಬರೆಯುತ್ತೇವೆ. ಅಧಿಕೃತ ದಾಖಲೆಗಳನ್ನು ಓದಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ:
ನಿಮ್ಮ ಮೆಚ್ಚಿನ ಪಠ್ಯ ಸಂಪಾದಕದಲ್ಲಿ Appfile ತೆರೆಯಿರಿ ಮತ್ತು ಅದನ್ನು ಈ ಕೆಳಗಿನ ಫಾರ್ಮ್ಗೆ ತನ್ನಿ:
app_identifier "com.company.amazingapp" # Bundle ID
apple_dev_portal_id "[email protected]" # Созданный инфраструктурный аккаунт, имеющий право на редактирование iOS проекта в Apple Developer Program.
team_id "LSDY3IFJAY9" # Your Developer Portal Team ID
ನಾವು ಟರ್ಮಿನಲ್ಗೆ ಹಿಂತಿರುಗುತ್ತೇವೆ ಮತ್ತು ಅಧಿಕೃತ ಕೈಪಿಡಿಯ ಪ್ರಕಾರ ನಾವು ಹೊಂದಾಣಿಕೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ.
$ fastlane match init
$ fastlane match development
ಮುಂದೆ, ವಿನಂತಿಸಿದ ಡೇಟಾವನ್ನು ನಮೂದಿಸಿ - ರೆಪೊಸಿಟರಿ, ಖಾತೆ, ಪಾಸ್ವರ್ಡ್, ಇತ್ಯಾದಿ.
ಇದು ಮುಖ್ಯ: ನೀವು ಮೊದಲು ಹೊಂದಾಣಿಕೆಯ ಉಪಯುಕ್ತತೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿದಾಗ, ರೆಪೊಸಿಟರಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಲು ನಿಮ್ಮನ್ನು ಕೇಳಲಾಗುತ್ತದೆ. ಈ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಉಳಿಸುವುದು ಬಹಳ ಮುಖ್ಯ; CI ಸರ್ವರ್ ಅನ್ನು ಹೊಂದಿಸುವಾಗ ನಮಗೆ ಇದು ಅಗತ್ಯವಿದೆ!
ಫಾಸ್ಟ್ಲೇನ್ ಫೋಲ್ಡರ್ನಲ್ಲಿ ಹೊಸ ಫೈಲ್ ಕಾಣಿಸಿಕೊಂಡಿದೆ - ಮ್ಯಾಚ್ಫೈಲ್. ನಿಮ್ಮ ಮೆಚ್ಚಿನ ಪಠ್ಯ ಸಂಪಾದಕದಲ್ಲಿ ಅದನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಅದನ್ನು ಈ ರೀತಿ ಪ್ರದರ್ಶಿಸಿ:
git_url("https://github.com/YourCompany/AmazingAppMatch") #Созданный приватный репозиторий для хранения сертификатов и профайлов.
type("development") # The default type, can be: appstore, adhoc, enterprise or development
app_identifier("com.company.amazingapp")
username("[email protected]") # Your Infrastructure account Apple Developer Portal username
Crashlytics ಮತ್ತು/ಅಥವಾ AppStore ನಲ್ಲಿ ಪ್ರದರ್ಶನಕ್ಕಾಗಿ ಬಿಲ್ಡ್ಗಳಿಗೆ ಸೈನ್ ಇನ್ ಮಾಡಲು, ಅಂದರೆ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಬಂಡಲ್ ID ಗೆ ಸಹಿ ಮಾಡಲು ನಾವು ಭವಿಷ್ಯದಲ್ಲಿ ಹೊಂದಾಣಿಕೆಯನ್ನು ಬಳಸಲು ಬಯಸಿದರೆ ನಾವು ಅದನ್ನು ನಿಖರವಾಗಿ ಈ ರೀತಿಯಲ್ಲಿ ಭರ್ತಿ ಮಾಡುತ್ತೇವೆ.
ಆದರೆ, ನಮಗೆ ನೆನಪಿರುವಂತೆ, ಪರೀಕ್ಷಾ ನಿರ್ಮಾಣಕ್ಕೆ ಸಹಿ ಹಾಕಲು ನಾವು ವಿಶೇಷ ವೈಲ್ಡ್ಕಾರ್ಡ್ ಐಡಿಯನ್ನು ರಚಿಸಿದ್ದೇವೆ. ಆದ್ದರಿಂದ, ಫಾಸ್ಟ್ಫೈಲ್ ತೆರೆಯಿರಿ ಮತ್ತು ಹೊಸ ಲೇನ್ ಅನ್ನು ನಮೂದಿಸಿ:
lane :testing_build_for_firebase do
match(
type: "development",
readonly: true,
app_identifier: "com.company.*",
git_branch: "uitests" # создаем отдельный бранч для development сертификата для подписи тестовой сборки.
)
end
ಉಳಿಸಿ ಮತ್ತು ಟರ್ಮಿನಲ್ ಅನ್ನು ನಮೂದಿಸಿ
fastlane testing_build_for_firebase
ಮತ್ತು ಫಾಸ್ಟ್ಲೇನ್ ಹೊಸ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಹೇಗೆ ರಚಿಸಿದೆ ಮತ್ತು ಅದನ್ನು ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಇರಿಸಿದೆ ಎಂಬುದನ್ನು ನಾವು ನೋಡುತ್ತೇವೆ. ಗ್ರೇಟ್!
XCode ತೆರೆಯಿರಿ. ಈಗ ನಾವು Match Development com.company.* ಫಾರ್ಮ್ನ ಅಗತ್ಯ ಒದಗಿಸುವ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಇದನ್ನು AmazingApp ಮತ್ತು AmazingAppUITests ಗುರಿಗಳಿಗಾಗಿ ಒದಗಿಸುವ ಪ್ರೊಫೈಲ್ ವಿಭಾಗದಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು.
ಪರೀಕ್ಷೆಗಳನ್ನು ಜೋಡಿಸಲು ಲೇನ್ ಅನ್ನು ಸೇರಿಸಲು ಇದು ಉಳಿದಿದೆ. ಗೆ ಹೋಗೋಣ
ಮೂಲ ಉದಾಹರಣೆಯಿಂದ ಕಾಪಿ-ಪೇಸ್ಟ್ ಮಾಡೋಣ ಇದರಿಂದ ನಮ್ಮ ಲೇನ್ testing_build_for_firebase ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
lane :testing_build_for_firebase do
match(
type: "development",
readonly: true,
app_identifier: "com.company.*",
git_branch: "uitests"
)
scan(
scheme: 'AmazingAppUITests', # UI Test scheme
clean: true, # Recommended: This would ensure the build would not include unnecessary files
skip_detect_devices: true, # Required
build_for_testing: true, # Required
sdk: 'iphoneos', # Required
should_zip_build_products: true, # Must be true to set the correct format for Firebase Test Lab
)
firebase_test_lab_ios_xctest(
gcp_project: 'AmazingAppUITests', # Your Google Cloud project name (к этой строчке вернемся позже)
devices: [ # Device(s) to run tests on
{
ios_model_id: 'iphonex', # Device model ID, see gcloud command above
ios_version_id: '12.0', # iOS version ID, see gcloud command above
locale: 'en_US', # Optional: default to en_US if not set
orientation: 'portrait' # Optional: default to portrait if not set
}
]
)
end
CircleCI ನಲ್ಲಿ ಫಾಸ್ಟ್ಲೇನ್ ಅನ್ನು ಹೊಂದಿಸುವ ಕುರಿತು ಸಂಪೂರ್ಣ ಮಾಹಿತಿಗಾಗಿ, ಅಧಿಕೃತ ದಸ್ತಾವೇಜನ್ನು ಓದಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ
ನಮ್ಮ config.yml ಗೆ ಹೊಸ ಕಾರ್ಯವನ್ನು ಸೇರಿಸಲು ಮರೆಯಬೇಡಿ:
build-for-firebase-test-lab:
macos:
xcode: "10.1.0"
working_directory: ~/project
shell: /bin/bash --login -o pipefail
steps:
- checkout
- attach_workspace:
at: ~/project
- run: sudo bundle install # обновляем зависимости
- run:
name: install gcloud-sdk # на mac машину необходимо установить gcloud
command: |
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null ; brew install caskroom/cask/brew-cask 2> /dev/null
brew cask install google-cloud-sdk
- run:
name: build app for testing
command: fastlane testing_build_for_firebase # запускаем lane сборки и отправки в firebase
4. ನಮ್ಮ ಪರೀಕ್ಷಾ ಬೆಂಚ್ ಬಗ್ಗೆ ಏನು? ಫೈರ್ಬೇಸ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ.
ಲೇಖನವನ್ನು ಯಾವುದಕ್ಕಾಗಿ ಬರೆಯಲಾಗಿದೆ ಎಂದು ನೋಡೋಣ.
ಬಹುಶಃ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಉಚಿತ ಯೋಜನೆಯಲ್ಲಿ Firebase ಅನ್ನು ಬಳಸುತ್ತದೆ ಅಥವಾ ಬಹುಶಃ ಇಲ್ಲದಿರಬಹುದು. ಯಾವುದೇ ಮೂಲಭೂತ ವ್ಯತ್ಯಾಸವಿಲ್ಲ, ಏಕೆಂದರೆ ಪರೀಕ್ಷೆಯ ಅಗತ್ಯಗಳಿಗಾಗಿ ನಾವು ಒಂದು ವರ್ಷದ ಉಚಿತ ಬಳಕೆಯೊಂದಿಗೆ ಪ್ರತ್ಯೇಕ ಯೋಜನೆಯನ್ನು ರಚಿಸಬಹುದು (ತಂಪು, ಸರಿ?)
ನಾವು ನಮ್ಮ ಮೂಲಸೌಕರ್ಯ ಖಾತೆಗೆ ಲಾಗ್ ಇನ್ ಮಾಡುತ್ತೇವೆ (ಅಥವಾ ಇನ್ನಾವುದೇ, ಇದು ಅಪ್ರಸ್ತುತವಾಗುತ್ತದೆ), ಮತ್ತು ಹೋಗಿ
ಇದು ಮುಖ್ಯ: ಹಿಂದಿನ ಹಂತದಲ್ಲಿ Fastfile in lane firebase_test_lab_ios_xctest ನಲ್ಲಿ gcp_project ಪ್ಯಾರಾಮೀಟರ್ ಯೋಜನೆಯ ಹೆಸರಿಗೆ ಹೊಂದಿಕೆಯಾಗಬೇಕು.
ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್ಗಳು ನಮಗೆ ಚೆನ್ನಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತವೆ.
ಟ್ಯಾಬ್ ಅನ್ನು ಮುಚ್ಚಬೇಡಿ, ಅದೇ ಖಾತೆಯ ಅಡಿಯಲ್ಲಿ ನೋಂದಾಯಿಸಿ
Google ಒಂದು ವರ್ಷಕ್ಕೆ $300 ನೀಡುತ್ತಿದೆ, ಇದು ಸ್ವಯಂ ಪರೀಕ್ಷೆಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಸಂದರ್ಭದಲ್ಲಿ ಸೇವೆಯ ಉಚಿತ ಬಳಕೆಗೆ ಸಮನಾಗಿರುತ್ತದೆ. ನಾವು ನಿಮ್ಮ ಪಾವತಿ ಮಾಹಿತಿಯನ್ನು ನಮೂದಿಸಿ, $1 ಪರೀಕ್ಷಾ ಡೆಬಿಟ್ಗಾಗಿ ನಿರೀಕ್ಷಿಸಿ ಮತ್ತು ನಿಮ್ಮ ಖಾತೆಗೆ $300 ಸ್ವೀಕರಿಸುತ್ತೇವೆ. ಒಂದು ವರ್ಷದ ನಂತರ, ಯೋಜನೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಉಚಿತ ಸುಂಕದ ಯೋಜನೆಗೆ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಹಣದ ಸಂಭವನೀಯ ನಷ್ಟದ ಬಗ್ಗೆ ಚಿಂತಿಸಬೇಕಾಗಿಲ್ಲ.
ಫೈರ್ಬೇಸ್ ಯೋಜನೆಯೊಂದಿಗೆ ಟ್ಯಾಬ್ಗೆ ಹಿಂತಿರುಗಿ ಮತ್ತು ಅದನ್ನು ಬ್ಲೇಜ್ ಸುಂಕದ ಯೋಜನೆಗೆ ವರ್ಗಾಯಿಸೋಣ - ಈಗ ಮಿತಿಯನ್ನು ಮೀರಿದರೆ ನಾವು ಪಾವತಿಸಲು ಏನನ್ನಾದರೂ ಹೊಂದಿದ್ದೇವೆ.
gCloud ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ, ನಮ್ಮ Firebase ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ, "ಡೈರೆಕ್ಟರಿ" ಮುಖ್ಯ ಮೆನು ಐಟಂ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ ಮತ್ತು ಕ್ಲೌಡ್ ಟೆಸ್ಟಿಂಗ್ API ಮತ್ತು Cloud Tools Result API ಅನ್ನು ಸೇರಿಸಿ.
ನಂತರ ಮೆನು ಐಟಂ "IAM ಮತ್ತು ಆಡಳಿತ" ಗೆ ಹೋಗಿ -> ಸೇವಾ ಖಾತೆಗಳು -> ಸೇವಾ ಖಾತೆಯನ್ನು ರಚಿಸಿ. ಯೋಜನೆಯನ್ನು ಸಂಪಾದಿಸಲು ನಾವು ಹಕ್ಕುಗಳನ್ನು ನೀಡುತ್ತೇವೆ.
JSON ಫಾರ್ಮ್ಯಾಟ್ನಲ್ಲಿ API ಕೀಯನ್ನು ರಚಿಸಿ
ನಮಗೆ ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಡೌನ್ಲೋಡ್ ಮಾಡಲಾದ JSON ಅಗತ್ಯವಿದೆ, ಆದರೆ ಇದೀಗ ನಾವು ಟೆಸ್ಟ್ ಲ್ಯಾಬ್ ಸೆಟಪ್ ಪೂರ್ಣಗೊಂಡಿದೆ ಎಂದು ಪರಿಗಣಿಸುತ್ತೇವೆ.
5. CircleCI ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
ಒಂದು ಸಮಂಜಸವಾದ ಪ್ರಶ್ನೆ ಉದ್ಭವಿಸುತ್ತದೆ - ಪಾಸ್ವರ್ಡ್ಗಳೊಂದಿಗೆ ಏನು ಮಾಡಬೇಕು? ನಮ್ಮ ನಿರ್ಮಾಣ ಯಂತ್ರದ ಪರಿಸರ ವೇರಿಯಬಲ್ ಕಾರ್ಯವಿಧಾನವು ನಮ್ಮ ಪಾಸ್ವರ್ಡ್ಗಳು ಮತ್ತು ಇತರ ಸೂಕ್ಷ್ಮ ಡೇಟಾವನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಸಂಗ್ರಹಿಸಲು ನಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. CircleCI ಪ್ರಾಜೆಕ್ಟ್ ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ, ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯಬಲ್ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ
ಮತ್ತು ಕೆಳಗಿನ ಅಸ್ಥಿರಗಳನ್ನು ಹೊಂದಿಸಿ:
- ಕೀ: GOOGLE_APPLICATION_CREDENTIALS
ಮೌಲ್ಯ: gCloud ಸೇವಾ ಖಾತೆಯ ಕೀಲಿಯ json ಫೈಲ್ನ ವಿಷಯಗಳು - ಕೀ: MATCH_PASSWORD
ಮೌಲ್ಯ: ಪ್ರಮಾಣಪತ್ರಗಳೊಂದಿಗೆ ಗಿಥಬ್ ರೆಪೊಸಿಟರಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಪಾಸ್ವರ್ಡ್ - ಕೀ: FASTLANE_PASSWORD
ಮೌಲ್ಯ: Apple ಡೆವಲಪರ್ ಪೋರ್ಟಲ್ ಮೂಲಸೌಕರ್ಯ ಖಾತೆಯ ಪಾಸ್ವರ್ಡ್
ನಾವು ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸುತ್ತೇವೆ, PR ಅನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ವಿಮರ್ಶೆಗಾಗಿ ನಮ್ಮ ತಂಡದ ನಾಯಕರಿಗೆ ಕಳುಹಿಸುತ್ತೇವೆ.
ಫಲಿತಾಂಶಗಳು
ಈ ಸರಳ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್ಗಳ ಪರಿಣಾಮವಾಗಿ, ಪರೀಕ್ಷೆಯ ಸಮಯದಲ್ಲಿ ಸಾಧನದ ಪರದೆಯಲ್ಲಿ ವೀಡಿಯೊವನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯದೊಂದಿಗೆ ನಾವು ಉತ್ತಮ, ಸ್ಥಿರವಾದ ಕೆಲಸದ ನಿಲುವನ್ನು ಸ್ವೀಕರಿಸಿದ್ದೇವೆ. ಪರೀಕ್ಷಾ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾನು ಐಫೋನ್ X ಸಾಧನದ ಮಾದರಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದೆ, ಆದರೆ ಫಾರ್ಮ್ ವಿಭಿನ್ನ ಮಾದರಿಗಳು ಮತ್ತು iOS ಆವೃತ್ತಿಗಳ ಸಂಯೋಜನೆಯಿಂದ ಶ್ರೀಮಂತ ಆಯ್ಕೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಎರಡನೇ ಭಾಗವನ್ನು Android ಪ್ರಾಜೆಕ್ಟ್ಗಾಗಿ ಫೈರ್ಬೇಸ್ ಟೆಸ್ಟ್ ಲ್ಯಾಬ್ನ ಹಂತ-ಹಂತದ ಸೆಟಪ್ಗೆ ಮೀಸಲಿಡಲಾಗುತ್ತದೆ.
ಮೂಲ: www.habr.com