Perl script not working through EPIC plug in in Eclipse - perl

I have the below Perl script in my eclipse:
#!/usr/bin/perl
use Selenium::Remote::Driver;
print "Hello, World!\n";
my $name = "king";
print "Hello, $name!\n";
my $driver = new Selenium::Remote::Driver('browser_name' => 'firefox');
$driver->get('http://www.google.com');
print $driver->get_title();
$driver->quit();
Output :
Hello, World!
Hello, king!
Selenium server did not return proper status at (eval 91) line 64.
Why I am getting the error message:
"Selenium server did not return proper status at (eval 91) line 64"
The browser is not starting. Kindly help if anyone knows the solution.

Your code looks correct. Add use strict; use warnings; at the top after shebang and make sure the selenium standalone server is running.
So steps would be
Run selenium server: java -jar selenium-server-standalone-2.44.0.jar
Observe below output
➤ java -jar selenium-server-standalone-2.44.0.jar
15:18:56.677 INFO - Launching a standalone server
15:18:56.900 INFO - Java: Oracle Corporation 25.40-b25
15:18:56.900 INFO - OS: Windows 7 6.1 x86
15:18:56.914 INFO - v2.44.0, with Core v2.44.0. Built from revision 76d78cf
15:18:57.174 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
15:18:57.175 INFO - Version Jetty/5.1.x
15:18:57.176 INFO - Started HttpContext[/selenium-server,/selenium-server]
15:18:57.325 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler#af7cc2
15:18:57.325 INFO - Started HttpContext[/wd,/wd]
15:18:57.325 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
15:18:57.325 INFO - Started HttpContext[/,/]
15:18:57.329 INFO - Started SocketListener on 0.0.0.0:4444
15:18:57.329 INFO - Started org.openqa.jetty.jetty.Server#133314b
Run your script.
I tested this on selenium-server-standalone-2.44.0 and firefox 33.0. It worked fine.
Update: According to the bug mentioned here you must be using Selenium 2.42 or greater.

Related

CasperJS with SlimerJS under linux

I'm trying to execute a CasperJS script using SlimerJS (My tests must check html5 video which is not available using PhantomJS).
Using CasperJS on top of PhantomJS, all of my scripts work just fine, however with CasperJS on top of SlimerJS, I cannot execute any of them. instead, I just always get the following error message:
[alex#webdev-srv test]$ xvfb-run casperjs --engine=slimerjs test2.js
Script Error: Cannot find package.json at /home/alex/headless/phantomjs/test/package.json
Stack:
-> : 0
1474876419994 addons.repository WARN cacheEnabled: Couldn't get pref: extensions.getAddons.cache.enabled
I'm using CentOS 7 as VPS (No GUI), with Firefox being installed, and XVFB too.
How can I make it work? Or is there any solution for this?

Selenium headless does not run on CentOS 7 with Perl, "no display specified"

I try to run headless Selenium on CentOS7:
# cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.2 (Maipo)"
I installed Xvfb and run it as
# /usr/bin/Xvfb :99
I installed firefox:
# firefox -v
Mozilla Firefox 38.5.0
and run it to check if it can be run at all:
# export DISPLAY=:99
# firefox
This is the output:
# firefox
Xlib: extension "RANDR" missing on display ":99".
console.error:
[CustomizableUI]
Custom widget with id loop-button does not return a valid node
console.error:
[CustomizableUI]
Custom widget with id loop-button does not return a valid node
GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
Firefox seems to be running after that command:
# ps aux | grep firefox
root 29476 7.3 14.9 852356 152256 pts/3 Sl+ 10:30 0:03 /usr/lib64/firefox/firefox
EDIT
Yes, it's running. Taking screenshot from the Xvfb by
DISPLAY=:99 import -window root -crop 1264x948+0+0 /tmp/screenshot.jpg
I can see
Now the problematic part.
I installed Selenium Remote Driver for perl
# cpanm Selenium::Remote::Driver
Then I ran standalone selenium driver:
# java -jar selenium-server-standalone-2.49.0.jar
Now I run test script:
#!/usr/bin/perl
use strict;
use warnings;
use Selenium::Remote::Driver;
my $driver = Selenium::Remote::Driver->new(browser_name=>'firefox');
$driver->get('http://www.google.com');
print $driver->get_title();
$driver->quit();
After 45 second I get error from the driver:
Could not create new session: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: no display specified
at (eval 89) line 510.
Seems like firefox launched by the driver does not see DISPLAY environment variable. I try to add it from the script:
#!/usr/bin/perl
use strict;
use warnings;
use Selenium::Remote::Driver;
$ENV{DISPLAY}=":99";
my $driver = Selenium::Remote::Driver->new(browser_name=>'firefox');
$driver->get('http://www.google.com');
print $driver->get_title();
$driver->quit();
It does not help, the previous error remains.
What do I do?
EDIT2
I tried the current setup with Python. All works.
# pip install selenium
And used the following test script:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.python.org")
f = open('ptn-sel.txt', 'w')
f.write(driver.title)
driver.close()
f.close()
I understand it's problem of Perl driver.... Any suggestions?
Is python using the standalone server or running firefox itself?
If perl is using the server and the server is spawning firefox then you need $DISPLAY set in the server processes environment not the script's environment. (By running export DISPLAY=:99; java -jar selenium-server-standalone-2.49.0.jaror similar.)
If you don't want to use the standalone server at all then Selenium::Firefox looks like it might be interesting.

ScalaTest in Intellij does not print out console messages

I am running Spark tests that use ScalaTest. They are very chatty on the command line using the following command (as an aside the -Dtest= is apparently ignored - all core tests are being run..):
mvn -Pyarn -Phive test -pl core -Dtest=org.apache.spark.MapOutputTrackerSuite
There are thousands of lines of output, here is a taste:
7:03:30.251 INFO org.apache.spark.scheduler.TaskSetManager: Finished TID 4417 in 23 ms on localhost (progress: 4/4)
17:03:30.252 INFO org.apache.spark.scheduler.TaskSchedulerImpl: Removed TaskSet 38.0, whose tasks have all completed, from pool
17:03:30.252 INFO org.apache.spark.scheduler.DAGScheduler: Completed ResultTask(38, 3)
17:03:30.252 INFO org.apache.spark.scheduler.DAGScheduler: Stage 38 (apply at Transformer.scala:22) finished in 0.050 s
17:03:30.288 INFO org.apache.spark.ui.SparkUI: Stopped Spark web UI at http://localhost:4041
17:03:30.289 INFO org.apache.spark.scheduler.DAGScheduler: Stopping DAGScheduler
However in IJ only tests Pass/Fail are printed out. So how to view the same chatty INFO level output as on command line?
The log4j.properties was not on the classpath. The way I fixed this:
(a) create a log4j.properties inside the test/resources folder
(b) the Following log4j.properties file worked for me:
# Set everything to be logged to the file bagel/target/unit-tests.log
log4j.rootCategory=DEBUG, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
# Ignore messages below warning level from Jetty, because it's a bit verbose
# Settings to quiet third party logs that are too verbose
log4j.logger.org.eclipse.jetty=WARN
log4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO

trouble installing MozRepl

I've been trying to install WWW::Mechanize::Firefox through CPAN and I am having trouble installing the dependency MozRepl. The installation goes through but the tests all fail, and when I force install it and run my perl script, I run into an error
Failed to connect to , at /Library/Perl/5.12/MozRepl/RemoteObject.pm line 467.
SO I uninstalled MozRepl and looked at the tests I get the following errors in the log:
# Failed test at t/10-plugin-repl-enter.t line 11.
Can't locate object method "repl_enter" via package "MozRepl" at t/10-plugin-repl-enter.t line 12.
...
# Failed test at t/20-plugin-json.t line 16.
Can't locate object method "json" via package "MozRepl" at t/20-plugin-json.t line 17.
# Failed test at t/19-plugin-repl-util-doc_for.t line 14.
Can't locate object method "repl_doc_for" via package "MozRepl" at t/19-plugin-repl-util-doc_for.t line 16.
# Failed test at t/18-plugin-repl-util-help_url_for.t line 14.
Can't locate object method "repl_help_url" via package "MozRepl" at t/18-plugin-repl-util-help_url_for.t line 16.
etc..
I am running on Mac OSX 10.8.4, 4 GB Ram 2.5 Ghz, Perl version 5.12. Does anybody have any idea what is causing these errors?
UPDATE:
i reinstalled mozrepl, and now I get this error when i run my script:
Failed to connect to , problem connecting to "localhost", port 4242: Connection refused at /Users/thui/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/MozRepl/Client.pm line 144
This works for me with perl 5.10 or later, latest Firefox (26 as of writing) and Mozrepl from github.
At command propmpt:
(1) Download MozRepl and build the XPI file (Firefox extension):
git clone git://github.com/bard/mozrepl
cd mozrepl
zip -r ../mozrepl.zip *
cd ..
mv mozrepl.zip mozrepl.xpi
(2) Install the extension in Firefox via about:addons [Install from file].
In Firefox:
(3) Menu->Tools->Mozrepl->Activate On Startup
(4) Menu->Tools->Mozrepl->Start
At command propmpt:
(5) which firefox
Make sure the firefox executable (or your OS's wrapper script) is in $PATH - you should get some output!
(6) cpanm WWW::Mechanize::Firefox
(7) Test it!
At this point, if CPANminus reports no errors then WWW::Mechanize::Firefox should be working. The first example from the synopsis is a good test:
#!/usr/bin/perl
use WWW::Mechanize::Firefox;
my $mech = WWW::Mechanize::Firefox->new();
$mech->get('http://google.com');
That assumes MozRepl is listening on port 4242 (check in Menu->Tools->Mozrepl->Change Port). You can also change the port from the perl side; see options for ->new().
(8) cpanm HTML::Display::Common
I found that bcat.pl from the examples required this module, but it wasn't installed as a dependency.

A fatal error has been detected by the Java Runtime Environment: Internal Error ; Error: ShouldNotReachHere()

I have no idea what went wrong as I've programmed in Java for about a year and never got this error. Compiling and running in Eclipse worked just a minute ago and now I get this error:
#A fatal error has been detected by the Java Runtime Environment:
#Internal Error (classFileParser.cpp:3494), pid=4636, tid=2380
#Error: ShouldNotReachHere()
#JRE version: 6.0_25-b06
#Java VM: Java HotSpot(TM) Client VM (20.0-b11 mixed mode windows-x86 )
#If you would like to submit a bug report, please visit:
#http://java.sun.com/webapps/bugreport/crash.jsp
--------------- T H R E A D ---------------
Current thread (0x02339800): JavaThread "Unknown thread" [_thread_in_vm, id=2380, stack(0x00240000,0x00290000)]
Stack: [0x00240000,0x00290000], sp=0x0028f86c, free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x13363a]
V [jvm.dll+0x12e59b]
V [jvm.dll+0x164ce]
V [jvm.dll+0x17cff]
V [jvm.dll+0x26de5]
V [jvm.dll+0x27626]
V [jvm.dll+0x279d5]
V [jvm.dll+0x27a69]
V [jvm.dll+0x27b2c]
V [jvm.dll+0x27baa]
V [jvm.dll+0x27c8d]
V [jvm.dll+0x27f59]
V [jvm.dll+0x6c593]
V [jvm.dll+0x6c96c]
V [jvm.dll+0xf9c1c]
V [jvm.dll+0x1184bb]
V [jvm.dll+0x9eba0]
C [javaw.exe+0x1657]
C [javaw.exe+0x1e2c]
C [javaw.exe+0x8614]
C [kernel32.dll+0x13677] BaseThreadInitThunk+0x12
C [ntdll.dll+0x39f02] RtlInitializeExceptionChain+0x63
C [ntdll.dll+0x39ed5] RtlInitializeExceptionChain+0x36
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
Other Threads:
=>0x02339800 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=2380, stack(0x00240000,0x00290000)]
VM state:not at safepoint (not fully initialized)
VM Mutex/Monitor currently owned by a thread: None
Dynamic libraries:
0x00400000 - 0x00424000 C:\Program Files (x86)\Java\jre6\bin\javaw.exe
0x77370000 - 0x774f0000 C:\Windows\SysWOW64\ntdll.dll
0x752e0000 - 0x753e0000 C:\Windows\syswow64\kernel32.dll
0x75200000 - 0x75246000 C:\Windows\syswow64\KERNELBASE.dll
0x76a30000 - 0x76ad0000 C:\Windows\syswow64\ADVAPI32.dll
0x76b90000 - 0x76c3c000 C:\Windows\syswow64\msvcrt.dll
0x76c40000 - 0x76c59000 C:\Windows\SysWOW64\sechost.dll
0x75940000 - 0x75a30000 C:\Windows\syswow64\RPCRT4.dll
0x74ee0000 - 0x74f40000 C:\Windows\syswow64\SspiCli.dll
0x74ed0000 - 0x74edc000 C:\Windows\syswow64\CRYPTBASE.dll
0x75a40000 - 0x75b40000 C:\Windows\syswow64\USER32.dll
0x75250000 - 0x752e0000 C:\Windows\syswow64\GDI32.dll
0x75790000 - 0x7579a000 C:\Windows\syswow64\LPK.dll
0x76790000 - 0x7682d000 C:\Windows\syswow64\USP10.dll
0x756d0000 - 0x75730000 C:\Windows\system32\IMM32.DLL
0x75600000 - 0x756cc000 C:\Windows\syswow64\MSCTF.dll
0x7c340000 - 0x7c396000 C:\Program Files (x86)\Java\jre6\bin\msvcr71.dll
0x6d7f0000 - 0x6da9f000 C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll
0x74770000 - 0x747a2000 C:\Windows\system32\WINMM.dll
0x70c70000 - 0x70cbb000 C:\Windows\system32\apphelp.dll
0x6d7a0000 - 0x6d7ac000 C:\Program Files (x86)\Java\jre6\bin\verify.dll
0x6d320000 - 0x6d33f000 C:\Program Files (x86)\Java\jre6\bin\java.dll
0x77340000 - 0x77345000 C:\Windows\syswow64\PSAPI.DLL
0x6d7e0000 - 0x6d7ef000 C:\Program Files (x86)\Java\jre6\bin\zip.dll
VM Arguments:
jvm_args: -Dfile.encoding=Cp1252 -Xbootclasspath:C:\Program Files (x86)\Android\android-sdk\platforms\android-7\android.jar
java_command: elf.app.RoomInfoActivity
Launcher Type: SUN_STANDARD
Environment Variables:
CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
PATH=C:/Program Files (x86)/Java/jre6/bin/client;C:/Program Files (x86)/Java/jre6/bin;C:/Program Files (x86)/Java/jre6/lib/i386;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\cygwin\bin;C:\"Program Files (x86)"\Java\jdk1.6.0_24\bin;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Android\android-sdk\platform-tools;C:\Program Files (x86)\Android\android-sdk\tools;C:\Program Files (x86)\Eclipse;
USERNAME=ryu_eMach_E732Z
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 37 Stepping 5, GenuineIntel
--------------- S Y S T E M ---------------
OS: Windows 7 Build 7600
CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 37 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, popcnt
Memory: 4k page, physical 2874176k(1587204k free), swap 5746452k(3983880k free)
vm_info: Java HotSpot(TM) Client VM (20.0-b11) for windows-x86 JRE (1.6.0_25-b06), built on Apr 14 2011 01:04:32 by "java_re" with MS VC++ 7.1 (VS2003)
time: Mon May 16 14:17:52 2011
elapsed time: 0 seconds
I had the same problem when running "pure java junit test" inside an android dev project.
so the solution was to do the following in Eclipse:
Add the std JRE to "properties --> java build path --> libraries"
While running, In the "runconfiguration --> classpath" remove Android (leaving only
std JRE)
Here is your relief for the problem :
I have a problem of running different versions of STS this morning, the application crash with the similar way as the question did.
Excerpt of my log file.
A fatal error has been detected by the Java Runtime Environment:
#a
# SIGSEGV (0xb) at pc=0x00007f459db082a1, pid=4577, tid=139939015632640
#
# JRE version: 6.0_30-b12
# Java VM: Java HotSpot(TM) 64-Bit Server VM
(20.5-b03 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libsoup-2.4.so.1+0x6c2a1] short+0x11
note that exception occured at # C [libsoup-2.4.so.1+0x6c2a1] short+0x11
Okay then little below the line :
R9 =0x00007f461829e550: <offset 0xa85550> in /usr/share/java/jdk1.6.0_30/jre/lib/amd64/server/libjvm.so at 0x00007f4617819000
R10=0x00007f461750f7c0 is pointing into the stack for thread: 0x00007f4610008000
R11=0x00007f459db08290: soup_session_feature_detach+0 in /usr/lib/x86_64-linux-gnu/libsoup-2.4.so.1 at 0x00007f459da9c000
R12=0x0000000000000000 is an unknown value
R13=0x000000074404c840 is an oop
{method}
This line tells you where the actual bug or crash is to investigate more on this crash issue please use below links to know more , but let continue the crash investigation and how i resolved it and the novelty of this bug :)
links ARE :
a fATAL ERROR JAVA THIS ONE IS GREAT LOTS OF USER!
a fATAL ERROR JAVA 2
Okay , after that here what i found out to casue of this case and why it happens a general advise.
Most of the time ,check that if u have installed , updated recently on Ubunu and Windows there are libraries like libsoup in linux whihc were the casuse of my crash.
Check also a new Hardware problem and try to investigate the Logfile which STS or Java generated and also syslog in linux by
tail - f /var/lib/messages or some other file
Then by carfully looking at those file the one you have crash log ... you can really solve the issue as follow .
sudo unlink /usr/lib/i386-linux-gnu/libsoup-2.4.so.1
or
sudo unlink /usr/lib/x86_64-linux-gnu/libsoup-2.4.so.1
Done !! Cheers!!
I've had a similar problem.
Error Log:
EAX=0x08aef338
0x08aef338 is pointing to unknown location
EBX=0x7c5e7000
0x7c5e7000: in /usr/lib/i386-linux-gnu/libsoup-2.4.so.1 at 0x7c558000
Fix:
unlink /usr/lib/i386-linux-gnu/libsoup-2.4.so.1
Just check to see what file you're actually running when you hit the run button. I had the same issue when I wrote a "public static void main" statement in a "non-main" file of the program. I even commented it out, but it wouldn't work. This link was very helpful for me.
I just had this error and solved it by using 'Run As' and choosing 'Android Application'.
Looks like a corrupt class file. Rebuild.
Change the workspace.
I don't know the reason but this worked for me..
Hope this helps to you as well !!
I had the same problem after adding main method in one of my classes in an Android project. I just right click on the project and run it as an Android project and then it worked again!
I had faced the same issue. The command
sudo unlink /usr/lib/x86_64-linux-gnu/libsoup-2.4.so.1
was also not useful as it crashed my system network and not able to connect Wi-Fi or wired lan. Later i got the solution from here.
Adding line -Dorg.eclipse.swt.browser.DefaultType=mozilla at the end of eclipse.ini or org.eclipse.swt.browser.DefaultType=mozilla at the end of /eclipse/configuration/config.ini file solved the issue.