Hello! I am getting an error while I am running my code via CMD on Windows 10.
My code is:
test_HomePage.py:
from selenium.webdriver.chrome import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
import pytest as pytest
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.wait import WebDriverWait
from pageObjects.HomePage import HomePage
from utilities.BaseClass import BaseClass
class TestHomePage(BaseClass):
def test_formSubmission(self):
# driver = webdriver.Chrome(executable_path="C:/Users/AFisenko/chromedriver.exe")
# driver.get("https://rahulshettyacademy.com/angularpractice/")
# driver.maximize_window()
homepage = HomePage(self.driver)
homepage.getName().send_keys("Rahul")
# driver.find_element(By.CSS_SELECTOR, "[name='name']").send_keys("Rahul")
homepage.getEmail().send_keys("shetty")
# driver.find_element(By.NAME, "email").send_keys("shetty")
homepage.getCheckBox().click()
# driver.find_element(By.ID, "exampleCheck1").click()
self.selectOptionByText(homepage.getGender(), "Male")
# sel = Select(homepage.getGender())
# sel = Select(driver.find_element(By.ID, "exampleFormControlSelect1"))
# sel.select_by_visible_text("Male")
homepage.getSubmit().click()
# driver.find_element(By.XPATH, "//input[@value = 'Submit]").click()
alertText = homepage.getSuccessMessage().text
# alertText = driver.find_element(By.CSS_SELECTOR, "[class*='alert-success']").text
assert ("Success" in alertText)
HomePage.py:
from selenium.webdriver.common.by import By
class HomePage:
def init(self, driver):
self.driver = driver
shop = (By.XPATH, "//a[text()='Shop']")
name = (By.CSS_SELECTOR, "[name='name']")
email = (By.NAME, "email")
check = (By.ID, "exampleCheck1")
gender = (By.ID, "exampleFormControlSelect1")
submit = (By.XPATH, "//input[@value = 'Submit']")
successMessage = (By.CSS_SELECTOR, "[class*='alert-success']")
def shopItems(self):
return self.driver.find_element(*HomePage.shop)
# driver.find_element(By.XPATH, "//a[text()='Shop']")
def getName(self):
return self.driver.find_element(*HomePage.name)
def getEmail(self):
return self.driver.find_element(*HomePage.email)
def getCheckBox(self):
return self.driver.find_element(*HomePage.check)
def getGender(self):
return self.driver.find_element(*HomePage.gender)
def getSubmit(self):
return self.driver.find_element(*HomePage.submit)
def getSuccessMessage(self):
return self.driver.find_element(*HomePage.successMessage)
BaseClass.py:
from telnetlib import EC
from selenium.webdriver.support import expected_conditions as EC
import pytest
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support.select import Select
import self as self
@pytest.mark.usefixtures(“setup”)
class BaseClass:
def verifyLinkPresence(self, text):
element = WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.LINK_TEXT, text)))
def selectOptionByText(self, locator, text):
sel = Select(locator)
# sel = Select(driver.find_element(By.ID, "exampleFormControlSelect1"))
sel.select_by_visible_text(text)
conftest.py:
import pytest as pytest
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.wait import WebDriverWait
@pytest.fixture(scope=“class”)
def setup(request):
# driver.Chrome(executable_path=“C:/Users/AFisenko/chromedriver.exe”)
driver = webdriver.Chrome(executable_path=“C:/Users/AFisenko/chromedriver.exe”)
chrome_options = Options()
chrome_options.add_experimental_option(“detach”, True)
driver = webdriver.Chrome(options=chrome_options)
# service_obj = Service(“C:/Users/AFisenko/chromedriver.exe”)
# driver = webdriver.Chrome(service=service_obj)
driver.get(“ProtoCommerce”)
driver.implicitly_wait(4)
driver.maximize_window()
request.cls.driver = driver
yield
driver.close()
ERROR FROM CMD:
C:\Users\AFisenko\PycharmProjects\PythonSelfFramework\tests>py.test test_HomePage.py
================================================= test session starts =================================================
platform win32 – Python 3.7.8, pytest-7.2.0, pluggy-1.0.0
rootdir: C:\Users\AFisenko\PycharmProjects\PythonSelfFramework\tests
plugins: html-3.2.0, metadata-2.0.4
collected 0 items / 1 error
======================================================= ERRORS ========================================================
__________________________________________ ERROR collecting test_HomePage.py __________________________________________
ImportError while importing test module ‘C:\Users\AFisenko\PycharmProjects\PythonSelfFramework\tests\test_HomePage.py’.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
…....\appdata\local\programs\python\python37\lib\importlib_init_.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
test_HomePage.py:14: in
from utilities.BaseClass import BaseClass
…\utilities\BaseClass.py:7: in
import self as self
E ModuleNotFoundError: No module named ‘self’
=============================================== short test summary info ===============================================
ERROR test_HomePage.py
!!! Interrupted: 1 error during collection !!!
================================================== 1 error in 0.10s ===================================================
Thank you!