Selenium: Difference between revisions

From Network Security Wiki
Content added Content deleted
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 2: Line 2:
__TOC__
__TOC__
<br />
<br />

= Installation =


Install Selenium
Install Selenium
Line 7: Line 9:


Install Firefox:
Install Firefox:
sudo apt install firefox
sudo apt install firefox


Install geckodriver:
Install geckodriver:
Line 14: Line 16:
tar -xf geckodriver-v0.29.0-linux64.tar.gz
tar -xf geckodriver-v0.29.0-linux64.tar.gz
cp geckodriver /usr/local/bin/
cp geckodriver /usr/local/bin/
export GECKO_DRIVER_VERSION='v0.29.0'


= Using Self Signed Certificates =

<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
from selenium import webdriver
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.firefox.options import Options
import json


# When using Self Signed Certificates
profile = webdriver.FirefoxProfile()
profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
profile.accept_untrusted_certs = True
Line 26: Line 29:
options = Options()
options = Options()
options.binary_location = r"/usr/bin/firefox"
options.binary_location = r"/usr/bin/firefox"
options.add_argument("--headless")
options.add_argument("--headless") # if running on a Server with no UI


browser = webdriver.Firefox(options=options, firefox_profile=profile, executable_path="/home/ubuntu/geckodriver")
browser = webdriver.Firefox(options=options, firefox_profile=profile, executable_path="/home/ubuntu/geckodriver")
browser.get('https://testsite.com/')
browser.get('https://testsite.com/')


driver.close()
browser.close()
</syntaxhighlight>

= Testing reachability =

<syntaxhighlight lang="python">
#!/usr/bin/env python

import unittest
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

class TestUbuntuHomepage(unittest.TestCase):

def setUp(self):
options = Options()
options.add_argument("--headless")
self.browser = webdriver.Firefox(options=options)

def testTitle(self):
self.browser.get('http://www.ubuntu.com/')
self.assertIn('Ubuntu', self.browser.title)

def tearDown(self):
self.browser.quit()


if __name__ == '__main__':
unittest.main(verbosity=2)
</syntaxhighlight>
</syntaxhighlight>



Latest revision as of 23:24, 2 March 2021


Installation

Install Selenium

pip3 install selenium

Install Firefox:

sudo apt install firefox

Install geckodriver:

Download latest geckodriver from github.com
wget https://github.com/mozilla/geckodriver/releases/download/v0.29.0/geckodriver-v0.29.0-linux64.tar.gz
tar -xf geckodriver-v0.29.0-linux64.tar.gz
cp geckodriver /usr/local/bin/
export GECKO_DRIVER_VERSION='v0.29.0'

Using Self Signed Certificates

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

# When using Self Signed Certificates
profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True

options = Options()
options.binary_location = r"/usr/bin/firefox"
options.add_argument("--headless")           # if running on a Server with no UI

browser = webdriver.Firefox(options=options, firefox_profile=profile, executable_path="/home/ubuntu/geckodriver")
browser.get('https://testsite.com/')

browser.close()

Testing reachability

#!/usr/bin/env python

import unittest
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

class TestUbuntuHomepage(unittest.TestCase):

    def setUp(self):
        options = Options()
        options.add_argument("--headless")
        self.browser = webdriver.Firefox(options=options)

    def testTitle(self):
        self.browser.get('http://www.ubuntu.com/')
        self.assertIn('Ubuntu', self.browser.title)

    def tearDown(self):
        self.browser.quit()


if __name__ == '__main__':
    unittest.main(verbosity=2)



References





{{#widget:DISQUS |id=networkm |uniqid=Selenium |url=https://aman.awiki.org/wiki/Selenium }}