How to go about writing a java http / web robot app? - java

I'm looking in to trying to build an application that will allow me to interact with specific elements of a web site, without going through a browser.
This is more a matter of general interest but for my prototype I am using the Guardian web site.
I want to log in, crawl through the content to find articles that can be commented on, and then display and allow the logged in user to comment on the articles.
I am a professional java developer but I've never really gone in to http development, and my search for resources that will help me with this project has not turned up much.
Firstly, I suppose I should ask, is this possible?
Secondly if so how would you for instance log in and post a comment to This Article

Have a look at Selenium Webdriver: http://docs.seleniumhq.org/projects/webdriver/
But please be good. Don't make a comment spam robot.

Related

Java - Go to new url in new window/tab

I want to be able to use Java to tell it to go to X url when X browser is open/running (my lingo is terrible). (Firefox/Chrome/IE is already up, and I want it to go from the default page to let's say Twitter.)
Most of the solutions are using java.awt.Desktop to launch native browser with a url in it, but that isn't useful if I want to change the url later on. (Already on Twitter-Home Page, but want to go to Twitter-Contact Us afterwards.)
The other solutions I've seen involve using Selenium WebDriver, but I also need to eventually learn how to basically force the Java to read a long list of URLs off an excel and simply verify that url isn't dead, and then do this on the Native Android browser, for example. So the Selenium might not be the right choice. Granted, you can also tell me this is an awesome choice for this too if it truly is. I haven't really been exploring Selenium.
Sorry for asking such a basic question. Company wants QA Automation without training/hiring an Automation QA. My end goal (aside not getting canned), is to see if I can get a bunch of urls to load on specific browsers. I can sort of (praying) be able to do stuff with it afterwards.
A simple trick would be to create an add-on( if you know javascript ) which will be quite similar in chrome and firefox (for IE I have no idea in my days it needed BHO) and send websocket commands from java to your addon. But this needs a java websocket server running where your addon will connect when the browser opens. Rest of communication can be carried upon the protocol lines of your requirements.
There are multiple parts to your question.
Read urls from excel.
Use Apache POI to do the same. Selenium code can use the same.
Check that the urls are not dead.
Use any java http client, (apache) to do that without even opening a browser. If the link is dead, it will be dead for all the browser.
Open the links in a multiple browsers.
Selenium is perfect for this. I am assuming that after the page is loaded you have way of validating that the page is correct. Selenium is very powerful here.
Target native android browser too.
I do not know of much difference between this and the previous question unless you are also testing site display based on browser size. The browser is more or less the same as chrome with webkit rendering engine.

What are the steps to upload a java web application

After a lot of work i manage to finish a java web aplication with netbeans using primefaces/glassfish server (it is a e-shop that we developed for a school project). I use xampp (mySql) in order to fiddle around with a database that i use in the web app.
My problem is that i have no idea on how to upload this to a server. What am i supposed to install on it ?, i dont even know what os to use :/ . Im really bad at the "internet part" of this project and since this was my last school year i can not reach for my professor to ask him for help.
I know my question is vague but please help me to finish this project because it would help me a lot to find a job in the future.
I should also mention that i use a mysql-connector-java-5.1.38-bin.jar .If im not wrong this allows me to send data throw a TCP connection right? My main problem is that im missing the Full picture ,I know how to write basic code in java , i know how to build the xhtml pages and how to bind them to the java code behind but other than that i dont get how the rest of this works.
Any help is greatly appreciated.
Edit: as i said im bad at this. if you just post a generic link on "how to set up a Javaweb" i will not be able to follow . Im asking here ,on this forum because i want human answer. I need someone to post a 4-5 line explanation and like 8 bulletins on what to do like
*install linux
*Build and export your project.
*install glassfish standalone.
etc
The thinks google returns to me are like 400 pages of glassfish documentation and really hard to follow guides on how to do what i want. Of course i could waste the next month or so just reading and trying to figure out how everything comes together (witch i inevitably have to do)but i feel like im only 15 clicks away. I just want a practical answer.
You need an application server to "upload" the code. Use tomcat, its simple and has plenty of documentation available.
If you are using XAMPP, you may be familiar with Apache Server, which runs , among other things PHP. For Java, you need application server to run the server side code.
It doesnt matter which OS you want to use, Java runs on all. You just need to download and install tomcat for the OS you want to run it on.
Please refer to http://tomcat.apache.org/
I must point out that there are many more Application servers which are available. Tomcat is one of the most popular for learning purpose.

Looking for some information in getting Java to communicate with a website

I was wondering if one could write a Java application and put it on a website and then have it running so that when a user used your website it could interact with some html/javascript page which would communicate with the Java program.
So basically, the html5 would be used to display the java program but all the logic and everything else would be server side in Java.
I don't want to use a java applet since it requires users getting a security warning and most browsers do not autorun a java application. I just think it would look cleaner and work nicer.
Does anyone know anything about this and could give me a little abstract just to point me in the right direction so I can learn more?
Thanks
It's somewhat difficult to tell from your question but you might find GWT useful. You code everything in Java, and the client-side portion gets compiled into html/javascript which communicates to the server portion with AJAX. http://code.google.com/webtoolkit/
I think you should start by developing a simple Java web app using html, jsp and servlet. Try the Google App Engine for deployment as it is free for hosting.
http://www.servletworld.com/servlet-tutorials/simple-servlet-example.html

Blackberry browser field implementation

I need to display any web page as a browser field,not browser session.I am building the app in 4.7 OS.Can anyone help me with sample code?
On 4.7 you are stuck with the old browser field. Also known as Browser Field 1. It renders HTML pretty close to how it was on 4.5 devices. There is no way to take advantage of the newer browser that you invoke via browser session. So, you can forget about CSS2 or or JavaScript on the pages you want to render as a browser field. But for the fairly basic stuff it is good enough.
For the sample code - you really should check out and understand all the examples there are in the development package before starting writing the code. It will really save more time than take for learning. Look at components\samples\com\rim\samples\device\blackberry\browser\BrowserFieldDemo.java
I doubt that the problem lies with the browser field per se. Rather with communications.
The people in the post that you refer to were probably suggesting ";deviceside=true" as this gets around the "BES effect" in a simulator.
You may wish to experiment with running the MDS emulator alongside the simulator session as well. There are a number of posts that discuss the impact of deviceside and simulation. You can test in code to see if you are running a simulator so that you can programmatically influence the "BES effect".

Best method of creating desktop shortcuts in a web app?

I'd like to have our ASP.NET web app create a desktop shortcut to our site on the user's (windows) desktop. With their permission of course. Like a button that they click and answer 'yes its ok', and then they get a link on the desktop or start menu that takes them to our site.
This may not seem like a great idea, and I could see how it could be annoying, but i have 2 great reasons for doing this. 1) Other people are doing it 2) Management wants it.
My question is, which technology would you guys recommend? I've heard this can be done via Java or Silverlight. Obviously our app is written in C#, but if it were much better/easier in Java we'd be willing to go that route.
So is one better for this task? And has anyone seen any examples?
EDIT:
Ok, assuming I wanted to go the route of Trusted XBAP or Signed Applet, can any point me in the right direction? I have no Silverlight or Java experience, but I'm willing to learn if someone can point me at a good tutorial.
If I've understood correctly what you're trying to do then no, you can't get your webapp to create a shortcut on the user's desktop. A couple of ways round it might be;
Host a batch file/script/installer on your site and try and get users to download it and run it locally.
Get the users to install a browser plugin that can do this. You may have to create this browser plugin yourself.
Browsers generally try to prevent websites having access to the local system for security reasons.

Categories

Resources