Is there a way to automate voice calls using Selenium Java - selenium-webdriver

Is there a way to automate voice calls using Selenium Java
I have a requirement where , i need to click the call button available in my website and provide the inputs and get the responses based on the input.
Is there any way we can achieve this using selenium

Can you add some additional details to understand the problem.
If you are talking about IVR Testing I don't think you can achieve it using Selenium and Java.
For IVR Testing you can use tools like CYARA or HAMMER, you can find the details in below link.
https://www.softwaretestinghelp.com/ivr-testing-tools/
If the scenario is upon click call button if you get popup or window opens.
Where you need to provide details, It can be done by switching to popup/window using switchTo() and send the input using sendKeys(),
If you want to test the output which is a call/voice it can't be done.

Related

C# Selenium Webdriver Interacting with native image upload dialog using SendKeys.SendWait does not work on TeamCity

I am using Windows.Forms.SendKeys.SendWait to interact with the native windows dialog when uploading an image.
I click the upload button using webdriver, then go:
SendKeys.SendWait("^A"); //Highlight content so it can be overwritten
SendKeys.SendWait(path);
SendKeys.SendWait(#"{Enter}");
Works great when I run it locally on my PC, however, the test won't run on the TeamCity agent (I have many other tests that run OK). It fails as it seems that native dialog never appears or if it does, it can't interact with it.
Not sure what's happening as this whole test agent process runs in the background and I can't see what it's doing - I can take screenshots using webdriver but it won't capture native dialogs anyway.
I tried to configure the team city test agent windows service (change Log On settings to allow interacting with desktop) but this did not work. Seems it just isn't able to interact with it... any ideas on how to make this work?
In order to upload a file with Selenium, you should use Webdriver's SendKeys directly to the input element that requires the path (Not Forms.SendKeys). See this example.
Note: You'll need to avoid clicking the button that opens the dialog.

Need to create the reference of capabilities for mobile testing by selenium

I just started mobile automation using selenium and appium. I need to create a object which directly enter the value in textbox. Currently first it is launching the app then I am able to reach on the perticular textbox . I do not want to launch the app again and again I just want to enter the information in textbox,dropdown etc.. Please help me to write the program...
You can get textbox by id using uiautomatorviewer if it's android or by xpath if it's on webbrowser, then you can use
driver.findElement(By.id("id here as string of textbox")).sendKeys("what you want to send");
at the end you can confirm by clicking accept or something using
driver.findElement(By.id("id of accept button")).click();
keep in mind that if you use id you must use By.id, xpath then By.xpath and so on.

How to read text from Captcha in selenium webdriver

Hi I am having Captcha like 3+1= along with text boxes. I have to read the int values and enter the result in textboxes using SendKeys. I am able to capture the whole Capture image but I want to separate the each texts to add the numbers. How is it possible??
Can anyone please tell me??
Captcha meant for avoiding automated form submissions, if you are testing for the site, you can have a setting in the quality testing server to serve a specific captcha and use sendkey to send back
Selenium Webdriver is not supporting captcha.
While captcha is existing for the same reason so no one can use robot on the website.
You have to ask team to provide you special environment where they bypass the captcha functionality or ask your development team to expose the captcha values on DOM also so you can retrieve the value and then perform actions accordingly
Hope it will help you :)

Unable to automate the Angularjs Click through Selenium driver

Is there a possible way to automate the click event of angularjs button, which navigates to a new page in turn.
Something like following is what the original browser code is.
"data-ng-click="services.urls.openPageUrlWithId(plusPageId)"
I am able to get to the point where the click event comes into picture, but it is not getting navigated to a different screen.
Any solution to this problem ? Thanks.
Is this for end-to-end testing purposes?
If so, the angular team themselves maintain a fantastic tool called protractor https://angular.github.io/protractor/#/
It provides smart abstractions on top of WebDriverJS/Selenium to allow you to easily find elements by their angular bindings and click through as you have described.

Browser Automation with Selenium: Fingerprints, recognizability and traceability?

I want to use selenium/webdriver to simulate a browser and scrape some website-content with it. Even if its not the fastest method, for me it has many advantages such as executing scripts etc.
For many websites it is forbidden to access them via an automated method, for example search engines like google or bing.
For one tool i need to scrape the estimated resultstat from google for several keywords. This will look like the following: simulate the browser that visits google.com and types in a keyword and scrapes the results, then after a little pause type in the next keyword, scrape the results and so on...
My question is: Is it possible for a website to recognize that I'm using selenium to simulate the browser instead of using the browser by hand? Especially the google case gives me some doubts. I know selenium is partly developed by google or at least by some guys working for google. So does leave selenium some fingerprints or isn't it possible to decide if I'm using the browser by myself or simulated by selenium, even for google?
No, nobody can actually see that you're using Selenium and not hand-operating the browser yourself with WebDriver. I'm not sure about the old Selenium RC, but it should be the same way. Here's how it works:
Selenium opens up a browser with a clean profile (or with a profile you selected)
Selenium is hooked up to the browser so it can steer it, control it. But the browser still does most of the work. Basically, Selenium replaces the user inputs to the browser, but not more.
You can easily verify this by reading the contents of the HTTP headers sent by your browser.
If you ever actually needed Selenium to be recognized by your server, you can use Browsermob-proxy and add a custom header to your requests.
All that said, there is one thing you must be aware of. While there's no way to detect Selenium directly, there can be some indirect clues picked up by the website you're visiting. Those usually include scanning for too many requests made in virtually no time - this might be an issue for you. Make sure your Selenium is behaving like a user.
EDIT 2016/04:
Apparanetly it is possible as https://stackoverflow.com/a/33403473/2930045 states that a company can do it. My guess - and it is nothing but a guess - is that they can run some JS that Selenium installs into the browser to operate.
Signs point to yes, sites are able to regonize that you are using Selenium.
Counter Example: www.stubhub.com detects and blocks my browser instance launched using Selenium while "normal" browsing done manually (not using the browser launched by the Selenium web driver) work with out issue.
See this stackoverflow question for additional details
Can a website detect when you are using selenium with chromedriver?

Resources