summaryrefslogtreecommitdiffstats
path: root/testing/marionette/client/docs/interactive.rst
blob: 7b2ebe2ec3c18a1a81389bd549b24bfb6d7ec7a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Using the Client Interactively
==============================

Once you installed the client and have Marionette running, you can fire
up your favourite interactive python environment and start playing with
Marionette. Let's use a typical python shell:

.. parsed-literal::
   python

First, import Marionette:

.. parsed-literal::
   from marionette_driver.marionette import Marionette

Now create the client for this session. Assuming you're using the default
port on a Marionette instance running locally:

.. parsed-literal::
   client = Marionette(host='127.0.0.1', port=2828)
   client.start_session()

This will return some id representing your session id. Now that you've
established a connection, let's start doing interesting things:

.. parsed-literal::
   client.navigate("http://www.mozilla.org")

Now you're at mozilla.org! You can even verify it using the following:

.. parsed-literal::
   client.get_url()

You can execute Javascript code in the scope of the web page:

.. parsed-literal::
   client.execute_script("return window.document.title;")

This will you return the title of the web page as set in the head section
of the HTML document.

Also you can find elements and click on those. Let's say you want to get
the first link:

.. parsed-literal::
   from marionette_driver import By
   first_link = client.find_element(By.TAG_NAME, "a")

first_link now holds a reference to the first link on the page. You can click it:

.. parsed-literal::
   first_link.click()