I am able to run automation tests on sample flutter application using flutter_driver on Android Emulator. I am looking for options of executing on Device Clouds. There are few threads which talk about executions on AWS Device Farm. However, I am interested in Firebase Test Lab. Similar to how we can execute automated scripts in SauceLabs, is there an option to run automated tests in Firebase Test Lab using flutter_driver?
It's currently not possible. Test Lab only supports testing Android apps with Espresso or UI Automator, and iOS apps with XCTest. There is currently no other framework support. As stated in the documentation:
Test Lab runs Espresso and UI Automator 2.0 tests on Android apps, and XCTest tests on iOS apps. Write tests using one of those frameworks, then run them through the Firebase console or the gcloud command line interface.
Feel free to file a feature request with Firebase support.
Instead of flutter_driver , use integration_test package
Tests written with the integration_test package can:
1- Run directly on the target device, allowing you to test on multiple Android or iOS devices using Firebase Test Lab.
2- Run using flutter_driver.
3- Use flutter_test APIs, making integration tests more like writing widget tests.
You can learn more about Migrating from flutter_driver here .
Related
We are having some difficulties implementing the Azure DevOps pipeline as a team. We are conducting the testing on our agent-hosted Windows os in the background. A couple of our test scripts were successful, while others were unsuccessful for unknown reasons.
However, the identical test scripts are all run with a pass in locally 100% in versus code result. Unable to determine why the agent-hosted Windows operating system is failing
Ideally, all suggestions would be constructive.
All test scripts which execute need to pass in azure pipeline any suggestion would be helpful
I have some Xamarin UI Tests which have the Attributes
[TestFixture(Platform.Android)]
[TestFixture(Platform.iOS)]
Enabling me to run both platform tests in the cloud (AppCenter Test), however, when I get the XML NUnit test results I have problems because I have inconclusive tests.
E.g. Say I have 15 Android tests passing if I publish the XML tests results to Azure DevOps Pipeline it will say only 50% of my tests passed with 15 inconclusive.
What I want to know is what I can do to separate these tests entirely so I end up with an tests result only for Android and for iOS.
Thanks in advance.
I am able to run automation tests on sample flutter application using flutter_driver on Android Emulator. I am looking for options of executing on Device Clouds. There are few threads which talk about executions on AWS Device Farm. However, I am interested in Firebase Test Lab. Similar to how we can execute automated scripts in SauceLabs, is there an option to run automated tests in Firebase Test Lab using flutter_driver?
It's currently not possible. Test Lab only supports testing Android apps with Espresso or UI Automator, and iOS apps with XCTest. There is currently no other framework support. As stated in the documentation:
Test Lab runs Espresso and UI Automator 2.0 tests on Android apps, and XCTest tests on iOS apps. Write tests using one of those frameworks, then run them through the Firebase console or the gcloud command line interface.
Feel free to file a feature request with Firebase support.
Instead of flutter_driver , use integration_test package
Tests written with the integration_test package can:
1- Run directly on the target device, allowing you to test on multiple Android or iOS devices using Firebase Test Lab.
2- Run using flutter_driver.
3- Use flutter_test APIs, making integration tests more like writing widget tests.
You can learn more about Migrating from flutter_driver here .
I started using the Firebase Test Lab web page to run instrumented tests of my new apps. One of the advanced settings is "Test Timeout", which is the point Firebase will kill a long running test.
I started to launch tests directly from Android Studio (3.1.1). In setting up tests with the run configuration editor, I can't seem to find the setting for Test Timeout. Am I missing something or is this feature not available when launching tests from AS.
There is currently no way to set a Test Lab timeout using the Android Studio UI. Please feel free to file a feature request for missing functionality like this.
Here is my scenario. I have a website which is built on top of Angular JS. I am able to automate the website using protractor. However there are certain actions which when performed on website are reflected in Android and IOS devices.
Here's what I want to achieve.
Run my tests on website like I normally do but I want to fire commands to test the android and ios app also
/*
For eg:
1. Change password on website using protractor
2. Launch android app and check if the password has been changed
3. Switch back to protractor tests for website
*/
it('Change password and check on IOS and Android device' , function()
{
changePasswordOnWeb();
OpenMobileAppInDeviceUsingAppium();
checNewkPasswordOnMobileApp();
});
Is it possible? If it is can you point me to any of the tutorials?
To answer your question, yes you can integrate protractor and appium. Though as of now Protractor doesn't support appium officially, you can still make it possible with the below details. There is a help file that is available in Protractor docs. All you need to do is update your conf.js file to include the appium configurations and remember to start your appium server before you run the test script. Take care of below points -
Start your avd
Install the .apk file in your avd that you will be invoking through appium
Start the appium server using command - appium &
Update your protractor conf.js file to include appium android/chrome configurations. More details about configurations can be found in the below link.
Here's the link to more info on this - Protractor-Appium Setup . Hope this helps
It seems like you can use it
to test hybrid apps
This readme will help you to setup Protractor with Appium - Android/Chrome and Android/Safari. Here is video how-to. Maybe you should consider the SauceLabs option too.I think you can request iOS and Android devices by specifying the platform in the capabilities section of the config.
If you don't want to use SauceLabs you can look at using Selenium's Grid functionality. You can get Selenium drivers for iOS and Android and have them connect to a centralized Selenium server that your Protractor scenarios are ran against, you just change the seleniumAddress in your config file to point to the centralized server.