Ok,

So I added the following:

<code>
from selenium import selenium
import unittest, time, re
import sys # added this

q = sys.argv[1] # added this
print q # added this just to see

class NewTest(unittest.TestCase):
    def setUp(self):
        self.verificationErrors = []
self.selenium = selenium("localhost", 4444, "*chrome", "http://www.google.com/";)
        self.selenium.start()

    def test_new(self):
        sel = self.selenium
        sel.open("/")
        sel.type("q", q) # this is where I want the argument to end up

    def tearDown(self):
        self.selenium.stop()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()
</code>

I run the following:

$ python selenium-google-test.py yankees
yankees
Traceback (most recent call last):
  File "selenium-google-test.py", line 24, in <module>
    unittest.main()
  File "/usr/lib/python2.6/unittest.py", line 816, in __init__
    self.parseArgs(argv)
  File "/usr/lib/python2.6/unittest.py", line 843, in parseArgs
    self.createTests()
  File "/usr/lib/python2.6/unittest.py", line 849, in createTests
    self.module)
  File "/usr/lib/python2.6/unittest.py", line 613, in loadTestsFromNames
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "/usr/lib/python2.6/unittest.py", line 584, in loadTestsFromName
    parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'yankees'

How do I get the argument over to where I need it to be?

Justin

vince spicer wrote:
First off, selenium is a great tool and the python driver is very powerful

there are numerous ways to access cli variables,

the quickest

import sys
print sys.srgv

sys.argv will it output a array of all command line args

./selenium-google-test.py yankees
will out put:

['selenium-google-test.py', 'yankees']

so

args = sys.argv

args[0] == 'yankees'
True

for a more functional way, check out
http://docs.python.org/library/getopt.html



On Tue, Jul 14, 2009 at 11:11 AM, J Cook <jcook...@gmail.com <mailto:jcook...@gmail.com>> wrote:

    Hello,

    I have some autogenerated code from Selenium which I cannot figure
    out how to pass some command line variables to. For example I could
    export the same in Perl and it would be for example:

    <code>
    use strict;
    use warnings;
    use Time::HiRes qw(sleep);
    use Test::WWW::Selenium;
    use Test::More "no_plan";
    use Test::Exception;

    my $sel = Test::WWW::Selenium->new( host => "localhost",
                                       port => 4444,
                                       browser => "*chrome",
browser_url => "http://www.google.com/"; );

    $sel->open_ok("/");
    $sel->type_ok("q", "red sox");
    </code>

    I could then go in and add something like:

    my ($arg1) = shift || "default";

    which would pick up the first command line parameter and then I
    could do something like:

    $sel->(type_ok, $arg1);

    All is good here, now Selenium will export the following for Python:

    <code>
    from selenium import selenium
    import unittest, time, re

    class NewTest(unittest.TestCase):
       def setUp(self):
           self.verificationErrors = []
           self.selenium = selenium("localhost", 4444, "*chrome",
    "http://www.google.com/";)
           self.selenium.start()

       def test_new(self):
           sel = self.selenium
           sel.open("/")
           sel.type("q", "red sox")

       def tearDown(self):
           self.selenium.stop()
           self.assertEqual([], self.verificationErrors)

    if __name__ == "__main__":
       unittest.main()
    </code>

    Now I am confused on how to pass a command line parameter here. Any
    suggestions? I would like to be able to run something like:

    $ python selenium-google-test.py "yankees"

    Suggestions?


    TIA

    Justin
    _______________________________________________
    Tutor maillist  -  Tutor@python.org <mailto:Tutor@python.org>
    http://mail.python.org/mailman/listinfo/tutor


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to