Skip to main content

pytest krtech common library

Project description

================================
Krtech common library for pytest
================================

Selenium web elements wrapper library based on allure report.
Contains base elements, pages and methods (steps).

------------
Installation
------------
You can install using pip:
::
pip install pytest-krtech-common

-------------
Configuration
-------------
To configure ``conftest.py`` do:

code:: python
import pytest
from configuration import TestConfig, ConftestOptions

class OverwrittenTestConfig(TestConfig):
myprop = "myprop_value"
mysqldb = "mydb"

tc = OverwrittenTestConfig()
c = ConftestOptions(tc)


def pytest_addoption(parser):
c.pytest_addoption(parser)


@pytest.mark.tryfirst
def pytest_runtest_makereport(item, call, __multicall__):
return c.pytest_runtest_makereport(item, call, __multicall__)


@pytest.yield_fixture(scope='session')
def config(request):
op = c.config(request)
yield op
op.driver.close()

-----
Usage
-----
Pages:

code:: python
from selenium.webdriver.common.by import By
from krtech.decorators import page
from krtech.elements.base_element import BaseElement
from krtech.pages.base_page import BasePage

@page('Profile Page', By.ID, 'profilePageId')
class ProfilePage(BasePage):
HEADER = BaseElement("Profile page header", By.XPATH, ".//h6")

Tests:

code:: python
from youproject.pages.profile_page import ProfilePage
from krtech.steps.user_steps import UserSteps

@pytest.mark.usefixtures('config')
@allure.feature('Profile Header')
class TestProfile:

def test_profile_header(self, config):
user = UserSteps(config)
profile_page = ProfilePage(config)

user.opens('/profile')
user.should_see_element_matched_to(profile_page.PROFILE, equal_to_ignoring_case(c.customers_data.name))
user.should_see_attribute_value(profile_page.OTHER, 'disabled', True)


-------------
Wheel package
-------------
To build a wheel package do::
cd pytest-krtech-common/
python setup.py bdist_wheel

Package should be available at::
dist/pytest_krtech_common-0.1-py3-none-any.whl

To install from wheel do::
pip install pytest_krtech_common-0.1-py3-none-any.whl

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pytest_krtech_common-0.1.35-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file pytest_krtech_common-0.1.35-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_krtech_common-0.1.35-py3-none-any.whl
Algorithm Hash digest
SHA256 7184c8e5a5291944fc77188aa29f712c064ba4ba1ba2fcf429031c4b1a4401c7
MD5 a4b0d1585fab3f5d165153a7532f91bf
BLAKE2b-256 31c43261b4755fe8bac2ef4d3551acbc64c0588097b2cc9905fea708556c834d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page