1.0.0 • Published 5 months ago

@flexn/graybox v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

@flexn/graybox

Overview:

Testing environment using WebdriverIO. iOS, tvOS, Android, AndroidTV, macOS use Appium server to run and Web uses Selenium Standalone Server. Reporting is done using Allure reporter.

Setup:

  1. Create wdio.capabilities.js file in testable project's root folder
  2. Copy capabilities object from testable project's wdio.conf.js to wdio.capabilities.js
  3. In wdio.capabilities.js remove ...customCapabilities, and after object add module.exports = { capabilities };
  4. In wdio.capabilities.js file change deviceName and platformVersion for iOS, tvOS and change avd and platformVersion for Android, AndroidTV. Example of wdio.capabilities.js file can be seen below
const capabilities = {
    ios: [
        {
            platformName: 'iOS',
            deviceName: 'iPhone 11',
            platformVersion: '13.5',
            automationName: 'XCUITest',
            ...(process.env.SCHEME === 'prod' && { bundleId: 'my.bundleId' }),
            ...(process.env.SCHEME === 'alpha' && { bundleId: 'my.bundleId.alpha' }),
        },
    ],
    tvos: [
        {
            platformName: 'tvOS',
            deviceName: 'Apple TV',
            platformVersion: '14.4',
            automationName: 'XCUITest',
            ...(process.env.SCHEME === 'prod' && { bundleId: 'my.bundleId' }),
            ...(process.env.SCHEME === 'alpha' && { bundleId: 'my.bundleId.alpha' }),
        },
    ],
    android: [
        {
            platformName: 'Android',
            avd: 'Pixel_4_API_29',
            platformVersion: '10',
            automationName: 'UiAutomator2',
            ...(process.env.SCHEME === 'prod' && {
                appPackage: 'my.appPackage',
                appActivity: 'my.appActivity',
            }),
            ...(process.env.SCHEME === 'alpha' && {
                appPackage: 'my.appPackage.alpha',
                appActivity: 'my.appActivity.alpha',
            }),
        },
    ],
    androidtv: [
        {
            platformName: 'Android',
            avd: 'Android_TV_1080p_API_29',
            platformVersion: '10',
            automationName: 'UiAutomator2',
            ...(process.env.SCHEME === 'prod' && {
                appPackage: 'my.appPackage',
                appActivity: 'my.appActivity',
            }),
            ...(process.env.SCHEME === 'alpha' && {
                appPackage: 'my.appPackage.alpha',
                appActivity: 'my.appActivity.alpha',
            }),
        },
    ],
    macos: [
        {
            platformName: 'Mac',
            automationName: 'Mac2',
            ...(process.env.SCHEME === 'prod' && { bundleId: 'my.bundleId' }),
            ...(process.env.SCHEME === 'alpha' && { bundleId: 'my.bundleId.alpha' }),
        },
    ],
    web: [
        {
            browserName: 'chrome',
        },
        {
            browserName: 'firefox',
        },
        {
            browserName: 'MicrosoftEdge',
        },
        {
            browserName: 'safari',
        },
    ],
};

module.exports = { capabilities };
  1. Install packages with yarn bootstrap
  2. Run the application on simulators you specified previously in wdio.capabilities.js
  3. Run test command in testable project's root folder. <scheme> must be replaced with either prod or alpha

Real device additional setup before running test command:

For iOS/tvOS:

  1. Add the following code to wdio.capabilities.js file under ios/tvos object. <Device udid> must be replaced by device udid. Device udid can be found under indentifier on Xcode by navigating to Window -> Devices and Simulators and selecting connected device. <Team ID> must be replaced by Team ID. Team ID can be found using developer account. Sign in to developer.apple.com/account, and click Membership in the sidebar. Team ID appears in the Membership Information section under the team name.
    udid: '<Device udid>',
    xcodeOrgId: '<Team ID>',
    xcodeSigningId: 'iPhone Developer'
  1. If the first step doesn't work, then open ./node-modules/appium-webdriveragent/WebDriverAgent.xcodeproj. Select WebDriverAgent project and select WebDriverAgentRunner (for iOS) or WebDriverAgentRunner_tvOS (for tvOS) target, then under Signing & Capabilities tab select developer team.

For Android/AndroidTV:

  1. Add the following code to wdio.capabilities.js file under android/androidtv object and comment avd property. <Device udid> must be replaced by device udid. Device udid can be found using cmd command adb devices.
udid: '<Device udid>';

Running:

  1. ios: yarn e2e:ios-<scheme>
  2. tvos: yarn e2e:tvos-<scheme>
  3. android: yarn e2e:android-<scheme>
  4. androidtv: yarn e2e:androidtv-<scheme>
  5. macos: yarn e2e:macos-<scheme>
  6. web: yarn e2e:web-<scheme>
  7. all above: yarn e2e:all-<scheme>
  8. generate report: yarn report:generate
  9. open report: yarn report:open
  10. generate and open report: yarn report

Prerequisites running tests on macOS app:

Xcode Helper app should be enabled for Accessibility access. The app itself could be usually found at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Agents/Xcode Helper.app. In order to enable Accessibility access for it simply open the parent folder in Finder:

 open /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Agents/

and drag & drop the Xcode Helper app to Security & Privacy -> Privacy -> Accessibility list of your System Preferences. This action must only be done once.

1.0.0-feat.10

5 months ago

1.0.0-feat.12

5 months ago

1.0.0-feat.11

5 months ago

1.0.0-feat.7

5 months ago

1.0.0-feat.6

5 months ago

1.0.0-feat.9

5 months ago

1.0.0-feat.8

5 months ago

1.0.0

8 months ago

0.21.2-feat.8

8 months ago

0.21.2-feat.6

8 months ago

0.21.2-feat.7

8 months ago

0.21.2-feat.5

9 months ago

1.0.0-feat.5

5 months ago

1.0.0-feat.4

7 months ago

1.0.0-feat.1

8 months ago

1.0.0-feat.0

8 months ago

1.0.0-feat.3

8 months ago

1.0.0-feat.2

8 months ago

0.21.1

10 months ago

0.21.0

10 months ago

0.21.2-feat.4

10 months ago

0.21.2-alpha.15

11 months ago

0.21.2-alpha.16

11 months ago

0.21.2-feat.2

11 months ago

0.21.2-feat.3

11 months ago

0.21.2-feat.0

11 months ago

0.21.2-feat.1

11 months ago

0.21.2-alpha.13

11 months ago

0.21.2-alpha.12

11 months ago

0.21.2-alpha.11

11 months ago

0.21.2-alpha.8

11 months ago

0.21.2-alpha.9

11 months ago

0.21.2-alpha.6

11 months ago

0.21.2-alpha.7

11 months ago

0.21.2-alpha.4

11 months ago

0.21.2-alpha.5

11 months ago

0.21.2-alpha.2

11 months ago

0.21.2-alpha.0

11 months ago

0.21.2-alpha.1

11 months ago

0.20.0-alpha.21

12 months ago

0.21.1-feat.0

11 months ago

0.21.1-feat.1

11 months ago

0.21.1-feat.2

11 months ago

0.20.0-alpha.20

12 months ago

0.21.1-feat.3

11 months ago

0.20.0-alpha.7

1 year ago

0.20.0-alpha.8

1 year ago

0.20.0-alpha.9

1 year ago

0.20.0-alpha.18

1 year ago

0.20.0-alpha.19

1 year ago

0.20.0-alpha.16

1 year ago

0.20.0-alpha.17

1 year ago

0.20.0-alpha.6

1 year ago

0.20.0-alpha.14

1 year ago

0.20.0-alpha.15

1 year ago

0.20.0-alpha.12

1 year ago

0.20.0-alpha.13

1 year ago

0.20.0-alpha.10

1 year ago

0.20.0-alpha.11

1 year ago

0.21.1-alpha.0

12 months ago

0.21.1-alpha.4

11 months ago

0.21.1-alpha.3

12 months ago

0.21.1-alpha.2

12 months ago

0.21.1-alpha.1

12 months ago

0.21.1-alpha.8

11 months ago

0.21.1-alpha.7

11 months ago

0.21.1-alpha.6

11 months ago

0.21.1-alpha.5

11 months ago

0.21.1-alpha.9

11 months ago

0.21.2-alpha.10

11 months ago

0.21.0-alpha.0

12 months ago

0.20.0-alpha.25

12 months ago

0.20.0-alpha.3

1 year ago

0.20.0-alpha.4

1 year ago

0.20.0-alpha.5

1 year ago

0.20.0-alpha.0

1 year ago

0.20.0-alpha.1

1 year ago

0.20.0-alpha.2

1 year ago

0.18.0-alpha.10

1 year ago

0.18.0-alpha.9

1 year ago

0.18.0-alpha.5

2 years ago

0.17.0-alpha.10

2 years ago

0.18.0-alpha.6

2 years ago

0.18.0-alpha.7

2 years ago

0.18.0-alpha.8

2 years ago

0.17.0-alpha.9

2 years ago

0.17.0-alpha.4

2 years ago

0.17.0-alpha.3

2 years ago

0.17.0-alpha.6

2 years ago

0.17.0-alpha.5

2 years ago

0.17.0-alpha.0

2 years ago

0.17.0-alpha.2

2 years ago

0.17.0-alpha.1

2 years ago

0.17.0

2 years ago

0.16.1-alpha.4

2 years ago

0.16.1-alpha.3

2 years ago

0.18.0-alpha.0

2 years ago

0.18.0-alpha.1

2 years ago

0.16.1-alpha.5

2 years ago

0.18.0-alpha.2

2 years ago

0.16.1-alpha.0

2 years ago

0.18.0-alpha.3

2 years ago

0.18.0-alpha.4

2 years ago

0.16.1-alpha.2

2 years ago

0.16.1-alpha.1

2 years ago

0.15.3-alpha.18

2 years ago

0.15.3-alpha.17

2 years ago

0.15.3-alpha.14

2 years ago

0.15.3-alpha.13

2 years ago

0.15.3-alpha.16

2 years ago

0.15.3-alpha.15

2 years ago

0.15.3-alpha.10

2 years ago

0.15.3-alpha.12

2 years ago

0.15.3-alpha.11

2 years ago

0.16.0

2 years ago

0.15.3-alpha.9

2 years ago

0.15.3-alpha.8

2 years ago

0.17.0-alpha.8

2 years ago

0.17.0-alpha.7

2 years ago

0.15.3-feat.2

2 years ago

0.15.3-alpha.1

2 years ago

0.15.3-alpha.0

2 years ago

0.15.3-alpha.3

2 years ago

0.15.3-alpha.2

2 years ago

0.15.3-alpha.5

2 years ago

0.15.3-feat.0

2 years ago

0.15.3-feat.1

2 years ago

0.15.3-alpha.4

2 years ago

0.15.0

2 years ago

0.15.1

2 years ago

0.15.2

2 years ago

0.15.0-alpha.0

2 years ago

0.13.3-alpha.0

2 years ago

0.15.0-alpha.1

2 years ago

0.15.2-alpha.0

2 years ago

0.14.0

2 years ago

0.15.3-alpha.7

2 years ago

0.15.3-alpha.6

2 years ago

0.15.1-alpha.0

2 years ago

0.13.2

2 years ago

0.13.2-alpha.0

2 years ago

0.12.1-alpha.0

2 years ago

0.13.0

2 years ago

0.13.1

2 years ago

0.13.1-alpha.1

2 years ago

0.13.1-alpha.0

2 years ago

0.12.0

2 years ago

0.11.1-alpha.1

2 years ago

0.11.1-alpha.0

2 years ago

0.11.0

2 years ago

0.10.1-alpha.4

2 years ago

0.10.1-alpha.3

2 years ago

0.10.1-alpha.2

2 years ago

0.10.1-alpha.1

2 years ago

0.10.1-alpha.0

2 years ago

0.10.0

2 years ago

0.9.1-alpha.1

2 years ago

0.9.1-alpha.0

2 years ago

0.9.0

2 years ago

0.8.1

2 years ago

0.8.0

2 years ago

0.9.0-alpha.4

2 years ago

0.9.0-alpha.3

2 years ago

0.9.0-feat.0

2 years ago

0.9.0-alpha.2

2 years ago

0.9.0-alpha.1

2 years ago

0.9.0-alpha.0

2 years ago

0.8.0-alpha.4

2 years ago