Is there any API documentation available for Perfecto Selenium and appium plugins - perfecto

Is there any API documentation available for Perfecto Selenium and appium plugins
as we have API for android with Google https://developer.android.com/reference/packages.html

Saravan,
Perfecto extend Appium and Selenium in the following way:
- All Appium & Selenium API should be supported by Perfecto - It should work in the same way that it works with standard Selenium remote web driver or Appium.
- The only thing you should do in order to run your test on Perfecto cloud is to change the driver to run on Perfecto cloud.
- Perfecto extend and add additional capabilities leveraging standard executescript function - You can read more here : https://community.perfectomobile.com/posts/1010994-perfecto-proprietary-features-commands
- The way that Appium & selenium support was designed is that the server is on Perfecto cloud which provide the ability to support new OS versions and devices once they are released (including beta versions).
Just to be fair - I work at Perfecto.

Related

Can I run Robot tests with Appium Browserstack?

Can I run tests written Robot Framework in Browserstack for automated testing?
If BrowserStack does not support it which framework supports it?
Sauce labs
Perfecto
Kobiton
Headspin
Also, I am wondering whether other frameworks support Robot with Appium or not.
Yes, you can use Robot Framework with Appium on BrowserStack's Automate as well as for App Automate on real devices.
For reference and walkthrough guide, please refer to the documentation here:
https://github.com/nithyamn/bstack-robot-framework#automate
https://github.com/nithyamn/bs-robot-framework#app-automate
Hope this helps.
Regards,
BrowserStack Support
You can use Robotframework with Sauce Labs, here are some code examples:
https://github.com/saucelabs-training/demo-python/tree/main/examples/robotframework

How can I test a Crosswalk application with BrowserStack?

At our company, we maintain a legacy Android application which uses Crosswalk to embed a web view. We would like to implement automated end-to-end tests for this app using Appium and ChromeDriver.
Unfortunately, the version of Chrome used by Crosswalk is modified in such a way that ChromeDriver cannot connect to it. This is a known issue, and the recommended workaround is to use a custom patched version of ChromeDriver instead.
This solution works for running tests locally. But BrowserStack doesn't seem to allow for supplying a custom build of ChromeDriver. I can choose from a set list of versions, but that won't help, as none of those versions have the Crosswalk patch.
Is there a way to make this work with BrowserStack?
I had used BrowserStack for my native app tests as well. Currently, they do not provide any custom capability to select the ChromeDriver version.

Which drivers come out the box with Selenium Standalone Server?

Here you can see how to make Selenium Standalone Server use the chromedriver. My question is, which drivers are include out the box in the Selenium Standalone Server jar?
Should I use the browsers drivers instead of the drivers included in the Selenium Standalone Server jar?
I know that with Firefox the Selenium Team recommend use the Firefox driver, but what about the others browsers?
The post you have pointed out as how to make Selenium Standalone Server use the chromedriver is a demonstration of using Selenium Standalone Server in Grid configuration i.e. through setting up Selenium Grid Hub and Selenium Grid Node.
Selenium 3.x releases doesn't supports any of the drivers out the box in the Selenium Standalone Server jar.
The main reason behind Selenium Team recommending to use the geckodriver (Firefox) and Mozilla Firefox Browser because both geckodriver and Mozilla Firefox Browser follows the W3C Specifications.

Does Behat started to use selenium webdriver?

I know , behat framework uses Selenium stand alone server to run the files which is not very effective. Has it been updated to use selenium webdriver ??...
"uses Selenium stand alone server to run the files which is not very effective. Has it been updated to use selenium webdriver"
Using the stand-alone server is irrelevant. The stand-alone server has both Selenium RC and Selenium WebDriver built in. It all depends on which classes you are extending from.
So to your question:
Has it been updated to use selenium webdriver?
Behat is just a DSL of sorts... If you are using Behat with Selenium, then it depends on what you are extending your classes from.
Behat itself has nothing to do with selenium.
Web automation is implemented in Mink, which is used with Behat via the MinkExtension.
All the drivers supported by Mink out of the box are listen in their docs:
GoutteDriver
BrowserKitDriver
Selenium2Driver
ZombieDriver
SahiDriver
SeleniumDriver
As you probably noticed there are two selenium drivers - SeleniumDriver supports the old SeleniumRC protocol - while Selenium2Driver supports the webdriver.

Setting up Selenium for recording as well as running in different browsers and platforms

I'd like to setup a Selenium server so that clients can record tests locally, recorded tests can be replayed and tested on an Ubuntu server with Firefox + Chrome.
Unfortunately the Selenium site is so confusing and mentions so many different projects (Selenium 1, Selenium 2, Selenium RC, Selenium Grid) that I'm not sure where to start.
How do I go about setting up Selenium Server on an Ubuntu box?
Unfortunately the Selenium site is so
confusing and mentions so many
different projects (Selenium 1,
Selenium 2, Selenium RC, Selenium
Grid) that I'm not sure where to
start.
Selenium has multiple versions
IDE - mainly to record the test and play it back. It is mainly a Firefox Addon. This can be used for very basic testing. You can also export the recorded test to selenium RC. All these mentioned in seleniumhq.org->documentation section: http://docs.seleniumhq.org/docs/
RC - Like any other automation tool, you can write your own code to run the test rather than just recording and playing it back. This has far better capabilities than IDE including support for several languages (Java, Javascript, Ruby, PHP, Python, Perl and C#) and support for almost every browser out there in various platform.
Grid - This helps in running multiple tests in parallel.
To record and run the test in Firefox (NOT CHROME) its very easy. This doesn't require a selenium server running.
record the whole test
save it in a file
Copy the file to Ubuntu machine
Open the same test using IDE in Ubuntu machine and run it again in firefox
If you want to run on chrome, then you need to go to the next level of using selenium RC. And this requires the selenium server running.
How do I go about setting up Selenium
Server on an Ubuntu box
Download selenium-server jar from here. Copy this to any directory in your ubuntu server
Open a terminal and navigate to the folder which has the selenium server jar.
Enter java -jar selenium-server-jarfilename.jar
Selenium server will start on port 4444 by default and keep listening to the tests.
The site is confusing in terms of the versioning and names. Selenium is the name of the entire project which started off as Selenium RC (remote control). Selenium RC is the old version of the API which is also sometimes called Selenium 1. Selenium 2 is the newest version and the latest release was last week being Selenium RC2 (release candidate). This uses a different API to Selenium RC. The new API is known as WebDriver. The new API still allows you to access the older Selenium RC but only for backwards compatibility.
Since you're starting now, there is no reason for you to use the Selenium RC API. You should instead use the advanced user interactions which are part of WebDriver. Setting up WebDriver is pretty easy and there is a decent guide on it here. You should note that the API used there is the older standard (2.0 beta) which uses WebElements. The new API (advanced user interactions) decouples actions from the elements they are performed on a lot more. I would recommend you use the latest versions of the API which is being actively supported rather than older deprecated versions.
Since you want to do this all locally, the second link I gave you should be enough to get you up and running. Assuming you're going to be using the Java bindings it is as simple as:
public class Selenium2Example {
public static void main(String[] args) {
// Create a new instance of the Firefox driver
// Notice that the remainder of the code relies on the interface,
// not the implementation.
WebDriver driver = new FirefoxDriver();
// And now use this to visit Google
driver.get("http://www.google.com");
Actions builder = new Actions( driver );
builder.sendKeys( driver.findElement( By.name("q") ), "Cheese!" );
Action action = builder.build();
action.perform();
//Close the browser
driver.quit();
}
}
This is the example code edited to use advanced user interactions.
You must have two things to write and execute selenium tests.
1) Selenium Server is also known as Selenium RC (Remote Control). You can go to this link and download Selenium Server.
You can start selenium server with command java -jar ur_selenium_server.jar
2) Client Driver: Using client-driver you can code selenium tests. It consists of combination of selenium commands that perform certain actions on the UI. For e.g. click, select etc.
Selenium supports many different language bindings for client-driver. Download appropriate client-driver for your preferred language from above download page.
You can refer client driver apis and code your tests.
Hope this helps