OwlCyberSecurity - MANAGER
Edit File: selenium.cpython-39.pyc
a ���e � @ s� d dl Z d dlZd dlmZ d dlmZmZ d dlmZ d dl m Z d dlmZ G dd� de e��Zed �G d d� deed��ZdS ) � N)�contextmanager)�LiveServerTestCase�tag)� classproperty�� import_string)�capfirstc sd e Zd Zg ZdZdZdZdZ� fdd�Ze dd� �Z e dd� �Ze d d � �Zdd� Z d d� Z� ZS )�SeleniumTestCaseBaseNFc s� t � �| |||�}|js.tdd� |�� D ��s2|S |jr�|jd }||_|jsT|jnd}||_| j|_t j |j }|jdd� D ]>}| �| dt|�|f |f||| j|jd��} t || j| � q�|S t�d �|�S ) z� Dynamically create new classes and add them to the test module when multiple browsers specs are provided (e.g. --selenium=firefox,chrome). c s s$ | ]\}}|� d �ot|�V qdS )�testN)� startswith�callable)�.0�name�value� r �U/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/django/test/selenium.py� <genexpr> s z/SeleniumTestCaseBase.__new__.<locals>.<genexpr>r z0.0.0.0� Nz%s%s)�browser�host� external_host� __module__zNo browsers specified.)�super�__new__r �any�items�browsers�selenium_hubr r �sys�modulesr r �setattr�__name__�unittest�skip) �clsr �bases�attrsZ test_classZ first_browserr �moduler Zbrowser_test_class�� __class__r r r s4 � ��zSeleniumTestCaseBase.__new__c C s t d| �S )Nz)selenium.webdriver.%s.webdriver.WebDriverr �r$ r r r r �import_webdriverA s z%SeleniumTestCaseBase.import_webdriverc C s t d| �S )Nz%selenium.webdriver.%s.options.Optionsr r* r r r �import_optionsE s z#SeleniumTestCaseBase.import_optionsc C s ddl m} t||�� �S )Nr )�DesiredCapabilities)Z.selenium.webdriver.common.desired_capabilitiesr- �getattr�upper)r$ r r- r r r �get_capabilityI s z#SeleniumTestCaseBase.get_capabilityc C s6 | � | j�� }| jr2z d|_W n ty0 Y n0 |S )NT)r, r �headless�AttributeError)�self�optionsr r r �create_optionsO s z#SeleniumTestCaseBase.create_optionsc C s@ | j r*ddlm} |j| j | �| j�d�S | �| j�| �� d�S )Nr )� webdriver)Zcommand_executorZdesired_capabilities)r4 )r �seleniumr6 ZRemoter0 r r+ r5 )r3 r6 r r r �create_webdriverX s �z%SeleniumTestCaseBase.create_webdriver)r! r �__qualname__r r r r r1 r �classmethodr+ r, r0 r5 r8 � __classcell__r r r( r r s * r r7 c s\ e Zd ZdZdZedd� �Zedd� �Ze� fdd��Z e� fd d ��Z edd� �Z� Z S ) �SeleniumTestCase� Nc C s d| j p| j| jjf S )Nzhttp://%s:%s)r r Z server_thread�port�r$ r r r �live_server_urlh s z SeleniumTestCase.live_server_urlc C s | j p | jS �N)r r r? r r r �allowed_hostl s zSeleniumTestCase.allowed_hostc s&