from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
from selenium.webdriver.common.by import By
from ddt import ddt,data
import time
import unittest
class BasePage:
#构造方法
def __init__(self,driver,url):
self.driver = driver
self.url = url
def find_element(self,*loc):
try:
WebDriverWait(self.driver, 20).until(EC.visibility_of_element_located(loc))
return self.driver.find_element(*loc)
except Exception as e:
print(e)
def my_click(self,loc):
self.find_element(*loc).click()
def my_send_keys(self,loc,value):
self.find_element(*loc).send_keys(value)
class LoginPage(BasePage):
username_input_locate = (By.ID,"i0116")
next_locate=(By.XPATH,'//input[@value="Next"]')
pwd_input_locate = (By.ID,"i0118")
sign_in_locate=(By.XPATH,'//input[@value="Sign in"]')
no_button_locate = (By.ID,"idBtn_Back")
def open(self):
self.driver.get(self.url)
def input_username(self,username):
self.my_send_keys(self.username_input_locate,username)
def next_name(self):
self.my_click(self.next_locate)
def input_pwd(self,password):
self.my_send_keys(self.pwd_input_locate,password)
def sign_in(self):
self.my_click(self.sign_in_locate)
def click_no_button(self):
self.my_click(self.no_button_locate)
class GroupPage(BasePage):
groups = (By.XPATH,'//div[text()="Groups"]')
new_group = (By.XPATH,'//div[text()="New group"]')
input_group_name = (By.XPATH,'//input[@placeholder="Enter the name of the group"]')
create_btn = (By.XPATH,'//span[text()="Create"]')
def click_groups(self):
self.my_click(self.groups)
def click_new_group(self):
self.my_click(self.new_group)
def input_groupname(self,group1):
self.my_send_keys(self.input_group_name,group1)
def create(self):
self.my_click(self.create_btn)
def creat_group(self,groupname):
self.click_groups()
time.sleep(1)
self.click_new_group()
time.sleep(1)
self.input_groupname(groupname)
time.sleep(1)
self.create()
time.sleep(2)
@ddt
class BaseTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
cls.url = "https://******"
cls.lp = LoginPage(cls.driver,cls.url)
cls.lp.open()
cls.lp.input_username("*******")
cls.lp.next_name()
cls.lp.input_pwd("******")
cls.lp.sign_in()
cls.lp.click_no_button()
time.sleep(3)
print("登录成功")
# def setUp(cls):
# self.driver = webdriver.Chrome()
# self.url = "https://aka.ms/Memprod"
# self.driver.implicitly_wait(10)
# self.lp = LoginPage(self.driver,self.url)
# self.lp.open()
# self.lp.input_username("admin@bvta02.onmicrosoft.com")
# self.lp.next_name()
# self.lp.input_pwd("User@123")
# self.lp.sign_in()
# self.lp.click_no_button()
# time.sleep(3)
# print("登录成功")
@data("a5","a6")
def test1_creatgroup(self,value):
gp= GroupPage(self.driver,self.url)
gp.creat_group(value)
print("创建group成功")
time.sleep(6)
# def tearDown(self):
# self.driver.quit()
@classmethod
def tearDownClass(cls):
cls.driver.quit()
if __name__ =="__main__":
unittest.main(verbosity=2)
creategroup+ddt自动化测试实战
最新推荐文章于 2023-11-09 10:35:02 发布