Mailinator gets pauseStream state unexpected - automation

I am using Mailinator.com to automate registration flow in my app. It is great for this purpose, but sometimes I get this weird problem: when the tests open a public mailbox, the mailinator is kind of in a pauseStream state, like this button is red, and it doesn't load email
When it is like that, whatever workarounds I tried, reload the page, re-enter the mailbox, it is still in this state. But if I open mailinator manually at the same time, the email is there.
Does anyone have the same issue and know how to solve this.

Related

Selenium not performing certain actions

There is this website that I keep visiting every day to look for updates, but I started getting bored of visiting it just to find nothing. So I thought it could be a good idea to automate this task and whenever there are updates I'll get a message to my email. So I thought I could use Selenium and some other commands, but when I was coding, I stumbled upon a problem. I wanted selenium to click a button but it gave me the error message:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element
I've tried finding the button with different options. I've tried finding it by xpath, by name, by id, by class but nothing seems to work. I have read some threads on here and tried to resolve the issue with their advice but it didn't work either. I gave every action a few seconds(10 seconds to be exact) to be performed, but it still doesn't work. Maybe the website I chose to monitor doesn't allow it? Is it possible for them to block the actions I want to perform or is there maybe something I'm missing in the code?
Thank you

Sending a command from a web-browser to an app

I want to be able to send a stream of data from a user computer to a web-service. That should not be too hard - I would use an application written in dot-net that resides on a user's Windows computer.
However, the tricky part is that the stream-of-data should only be sent (by the app) when the user clicks on a button or a link in a WEB PAGE that is open in his browser. The app itself would be minimized in the system tray. And he should be able to stop the stream by clicking on a stop-button (or link) in that web page..
So I found some info on stackoverflow that says that you can put a link in your page, something like: [a href='alert:"Hello World" ' ] and if you register your application (in this example the app would be called "alert.exe") in the registry, then when the user clicks on the link, he will cause the application to start, and to receive "Hello World" as a parameter.
Anyway, there are complications in my case. I want to be able to tell the application when to start sending data, and when to stop sending data, without starting new instances of the application. If the user clicks START, and the app is already open, I don't want it to open again. I do want a message to go saying "start sending" and if the user clicks on a STOP button (or link) to say "stop sending". The user might click on these web-page buttons several times in a session, and I don't want to close and reopen the program each time.
So a couple of questions:
Am I taking the right approach? Would "plug-ins" be a better idea?
If I am taking the correct approach, is there some way to send commands from a web page to an application?
Is it safe to have my app modify the registry of user computers?
If so, is there a set of commands for doing that?
Is the registry supported by Windows 7, Windows 8, etc? I know it is not supported on a Mac.
Thanks in advance.
LL
P.S. (the info on launching apps from your browser was at: http://msdn.microsoft.com/en-us/library/ie/aa767914%28v=vs.85%29.aspx).

SendKeys VB.net

Hi ive developed a application that works with my site by using
SendKeys.send("{ENTER}") to submit info on one of my forms.
Is there a way to stop it from running outside the application?
For example im trying to run the program in the background and when im browsing my facebook or on google it randomly keeps hitting enter.
Any help is greatly appreciated thanks for your time.
The short answer is to look at the windows available for a process and check the titles to see if it's the page you want.
If System.Diagnostics.Process.GetProcessesByName("firefox").MainWindowTitle = 'My Page Title'
...
End If
That said, there are much better ways to do this - If you're using firefox, look into GreaseMonkey, if in Chrome, look at TamperMonkey.
Both allow you to inject custom javascript into any page whose url matches a pattern you choose. In effect, you could write some Javascript to submit a form (say) 30 seconds after page load.
This would have the benefit of working if a different tab is selected as well as not requiring a whole application.
The SendKeys.Send method will indiscriminately send the key stroke to the active application. There is no way to use this API to target a specific application.
You could change your app to try and verify the active application is the one you want to send keys too. This is destined to be a flaky process though. No matter how good your verification is it's always possible that the active app is switched to another app after your verification completes.
If VerifyActiveAppIsTarget() Then
SendKeys.Send("{Enter}") ' Active app could change before this runs
I would persue a different solution for sending data between my apps

Unable to register as developer: Not receiving confirmation code

I'm trying to register as a developer but I'm not receiving confirmation code to my cell phone.
I entered my country code + my phone number in the right form but still, I tried "resend" option couple of times, several phone numbers and still all my tries failed.
Can it be I'm blocked or there is a temporary failure at Facebook?
For anyone finding this via google, try this:
Not receiving your Facebook confirmation code?
Text "F" (without quotes) to 32665 and you should instantly receive the code
Hope this helps cut down on some implementation headaches people may be having.
Enter that into the corresponding area under settings on Facebook and boom it all works! (Dont forget to instantly deactivate SMS alerts otherwise you’ll be pestered every time a ‘friend’ mentions what they had for tea, plus you’ll be charged for it too)

Automation of DOH Robot tests interrumped by Pop-up message

In order to automate DOH tests during our build process, I use Selenium RC to launch different browsers (IE and Firefox) on a server placed on a different domain than the build machine. Each browser is directed to our runTests.html in order to start DOH.
Sometimes, when a test that uses doh.robot starts, the following message is shown:
"DOH has detected that the current web page is attempting to access DOH, but belongs to a different domain than the one you agreed to let DOH automate. If you did not intend to start a new DOH test by visiting this Web page, press Cancel now and leave the Web page"
but since these tests are unattended it just sits there waiting for someone to click OK, and Selenium times out (in IE 8 it seems like the pop-up disappears automatically but the robot does nothing afterward).
As I said, it doesn't always happen. After you click OK on the Pop-up, the message will stop showing, and the message can go away for several sessions, but then it will show again in which seems to be an arbitrary way.
Does anyone knows a way to prevent this pop-up from showing?
This is probably not the correct way to do it, but in util/doh/robot/DOHRobot.java, you may be able to modify the code to not check that or always simulate pressing "OK". I haven't tried it myself, but I may also need to do that for some of our automated testing.
When the DOH robot is initialized, it first tries to click in the upper left corner of the page you are trying to test. If you obscure this div (you can see it with firebug), then the message will pop up. I think the problem is that your page isn't always loading up quick enough.
It is somewhat of a challenge to fix this. I haven't used DOH in awhile, but I don't think there is any way you can use a setTimeout to fix this. (You can try using setTimeout on the doh.run command, but it might be the case that the DOH robot clicks that div before parsing any doh commands.)
Another thing you might be able to do is add a sort of "wait" command to Selenium, or whatever shell command you are using to fire up the system.