The repository contains Certification task project source code and app under test.
Test Framework is based on:
- Appium
- Java
- TestNG
- Allure
To provide desired capabilities use ${baseDir}/test/resources/appium.properties
this file will be read only if ClassPathPropertiesFileCapabilitiesProvider
is chosen as
CapabilitiesProvider
implementation.
There are two implementation available at the moment
ClassPathPropertiesFileCapabilitiesProvider
- readsappium.properties
AWSCapabilitiesProvider
- returns emptyCapabilities
as required by Amazon
You can control which implementation to use by setting a system property
.
For maven-surefire-plugin
it looks like
<systemPropertyVariables>
<capabilities.provider>configuration</capabilities.provider>
...
</systemPropertyVariable>
By default (if no capabilities.provider
property was set) ClassPathPropertiesFileCapabilitiesProvider
will be used.
Default TestNG
listener is configured in org.noname.test.HappyPathTest.java
class through annotation @Listeners({TakingScreenshotOnTestFailureListener.class})
, but another option is pom.xml
see maven-surefire-plugin
section.
<property>
<name>listener</name>
<value>org.noname.core.allure.TakingScreenshotOnTestFailureListener</value>
</property>
The listener is for allure
ONLY it depends on its feature called @Attachment
see allure project docs
- create a new empty shopping list
- check that
MainScreen
has a created list
- create new product in shopping list
- check that
AddScreen
has new product
- change default currency
- check that new currency is applied
- change name of shopping list
- check that name has changed on
MainScreen
- swap categories on
CategoriesScreen
- check that categories are swapped
- create new category
- check that new category has been created
- create new product on
MyListScreen
- check that new product has been created
- delete shopping list from
MainScreen
- shopping list has been deleted
- add all products to shopping list from
MyList
- all products have been added
- create own currency
- new currency has been created and applied to products on
MainScreen
- allure (for local run)
- android sdk (for local run)
- android emulator/or android device (for local run)
- appium (for local run)
- maven
- project on your file system (root of the project is
${baseDir}
)
- run appium server
- run android emulator, or connect a device
- go to project
${baseDir}/test/resources/appium.properties
- change
app
property to full system path of Shopping list-1.6.apk (opt/BuyList.apk
) - if needed change
deviceName
property (to check connected runadb devices
in terminal) - execute
mvn clean test
from${baseDir}
- execute
mvn allure:serve
to see allure report
- set
testobject_api_key=
- follow the instruction provided by
SauceLabs
, to configureCapabilities
change/set them in${baseDir}/src/test/resources/appium.properties
- execute
mvn clean test
from${baseDir}
- to generate local report execute
mvn allure:serve