def setUp(self): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') self.driver = webdriver.Chrome(chrome_options=chrome_options) # self.driver = webdriver.Chrome() self.driver.get('http://smart.sit2.sqbj.com/portal/login') self.pe = parseExcel(Excelobject_path) # self.alert = special(self.driver) login(self.driver, '18301565568', '111111')
def test_login(self): driver = webdriver.Chrome() driver.get('https://mail.qq.com/') pe = parseExcel(Excelobject_path) #实调例化excel调用 pe.set_sheet_by_name('登陆账号') #打开sheet页 info('当前sheet页'+pe.get_sheet_name()) rows = pe.get_all_rows()[1:] info('当前的所有行'+str(rows)) for id,row in enumerate(rows): if row[4].value == 'y': username =row[1].value password =row[2].value info('登陆用户名和密码'+str(username)+' '+str(password)) login(driver,username,password)
def setUp(self): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') self.driver = webdriver.Chrome( driver_path='', chrome_options=chrome_options, service_args=[ '--verbose', '--log-path=<path-to-log>/chromedriver.log' ]) self.driver.get('http://smart.sit2.sqbj.com/portal/login') self.pe = parseExcel(Excelobject_path) self.alert = special(self.driver) login(self.driver, self.pe.get_cell_content(2, 2), self.pe.get_cell_content(2, 3))
def setUp(self): """ 打开无头浏览器,并进入基础服务页面 """ info( '##############################服务公示测试开始###############################' ) # chrome_options = webdriver.ChromeOptions() # chrome_options.add_argument('--headless') # chrome_options.add_argument('--no-sandbox') # self.driver = webdriver.Chrome(chrome_options=chrome_options) self.driver = webdriver.Chrome() self.driver.get('http://smart.sit2.sqbj.com/portal/login') self.pe = parseExcel(Excelobject_path) login(self.driver, '18301565568', '111111')
def test_login_true(self, case_data): try: info('登陆用户名{},密码{}'.format(case_data['username'], case_data['password'])) login(self.driver, case_data['username'], case_data['password']) time.sleep(10) info('登陆校验信息{},{}'.format(case_data['matching'], case_data['assertuaser'])) if case_data['matching'] == 0: time.sleep(3) assert case_data['assertuaser'] in self.driver.page_source elif case_data['matching'] == 1: self.assertEqual(case_data['assertuaser'], geterror(self.driver)) except AssertionError as e: debug('校验数据{},预期{},失败'.format(case_data['assertuaser'], geterror(self.driver))) except Exception as e: traceback.print_exc(e) debug('未知错误{}'.format(e)) else: info('校验数据{},预期{},通过'.format(case_data['assertuaser'], self.driver.page_source))
pe = ParseExcel(test_data_excel_path) #获取表格的第一个sheet页 pe.set_sheet_by_index(0) #从第二行开始遍历sheet页内容,因为第一行是标题,故忽略 #id表示遍历的每行的索引号,从0开始 for id, row in enumerate(pe.get_all_rows()[1:]): yes_or_no_execute = row[yes_or_no_num].value if yes_or_no_execute == 'y': #sheet中是否执行是y时才执行该行数据 #获取用户名、密码等,列号在var.py文件中已经定义好,这样做阅读清晰 username = row[username_col_num].value password = row[password_col_num].value excel_name = row[excel_num].value driver = webdriver.Chrome(executable_path="d:\\chromedriver") try: #调用登录函数 login(driver, username, password) #若运行成功,将结果写入单元格内,定位单元格位置时,行号和列号都是从1开始计算 pe.write_cell_content(id + 2, result_num, 'pass') #进入邮箱首页 visit_address_page(driver) #new_linkman(driver,u'Bill Gates','*****@*****.**',u'是','18911734602','new man') time.sleep(1) #获取包含新建联系人信息的sheet页 pe.get_sheet_by_name(excel_name) try: #遍历该sheet页,从第二行开始 for ro in pe.get_all_rows()[1:]: #如果是否执行是y,就将该联系人添加到通讯录 if ro[7].value == 'y': #调用添加新建联系人的方法 new_linkman(driver, ro[1].value, ro[2].value,
# @Author : Zhigang import time from Util.ObjectMap import * from Util.ParsePageObjectRepository import ParsePageObjectRepositoryConfig from selenium import webdriver from Action.login import * class HomePage(object): def __init__(self, driver): "初始化参数,加载配置文件,将'126mail_homepage'section内容读取出来" self.driver = driver self.parse_config_file = ParsePageObjectRepositoryConfig() self.login_page_items = self.parse_config_file.getItemsFromSection( "126mail_homepage") def address_book_page_link(self): "点击通讯录" locateType, locateExpression = self.login_page_items[ "login_page.addressbook"].split(">") return getElement(self.driver, locateType, locateExpression) if __name__ == "__main__": driver = webdriver.Firefox() login(driver, "XXXX", "XXXX") hp = HomePage(driver) hp.address_book_page_link().click() time.sleep(2)
#encoding=utf-8 import time from Util.ObjectMap import * from Util.ParsePageObjectRepository import ParsePageObjectRepositoryConfig from Action.login import * class HomePage(object): def __init__(self, driver): self.driver = driver self.parse_config_file = ParsePageObjectRepositoryConfig() self.login_page_items = self.parse_config_file.getItemsFromSection( "126mail_homepage") print self.login_page_items def address_book_page_link(self): locateType, locateExpression = self.login_page_items[ 'home_page.addressbook'].split(">") print locateType, locateExpression return getElement(self.driver, locateType, locateExpression) if __name__ == "__main__": from selenium import webdriver driver = webdriver.Firefox(executable_path="c:\\geckodriver") login(driver, "xiaxiaoxu1987", "gloryroad") hp = HomePage(driver) hp.address_book_page_link().click() time.sleep(5)
def main(): pe = ParseExcel(test_data_excel_path) pe.setSheetByIndex(0) # 防止默认sheet不是要操作的sheet对象,下同 "获取第一个sheet的所有行" rows = pe.get_all_rows() for index, row in enumerate(rows[1:]): if row[4].value.lower() == "y": username = pe.get_cell_content(index + 2, 2) password = pe.get_cell_content(index + 2, 3) driver = webdriver.Chrome() try: login(driver, username, password) visit_address_page(driver) sheetName = pe.get_cell_content(index + 2, 4) pe.setSheetByName(sheetName) data_row = pe.get_all_rows() for id, row in enumerate(data_row[1:]): whether_execute = pe.get_cell_content(id + 2, 8) # print (whether_execute) if whether_execute.lower() == "y": name = pe.get_cell_content(id + 2, 2) email = pe.get_cell_content(id + 2, 3) is_star = pe.get_cell_content(id + 2, 4) mobile = pe.get_cell_content(id + 2, 5) other_info = pe.get_cell_content(id + 2, 6) assert_word = pe.get_cell_content(id + 2, 7) try: add_contact(driver, name=name, email=email, is_star=True, mobile=mobile, other_info=other_info) except Exception as e: pe.write_cell_content(id + 2, 10, "添加联系人失败", color=colors.RED) else: try: assert pe.get_cell_content( id + 2, 7) in driver.page_source except Exception as e: pe.write_cell_content(id + 2, 10, "断言失败", color=colors.RED) else: pe.write_cell_content(id + 2, 10, "成功", color=colors.GREEN) finally: pe.write_cell_content(id + 2, 9, dateTime()) pe.save_excel_file() else: pe.write_cell_content(id + 2, 9, dateTime()) pe.write_cell_content(id + 2, 10, "忽略") pe.save_excel_file() except Exception as e: print(e) pe.setSheetByName("126账号") pe.write_cell_content(index + 2, 6, "失败", color=colors.RED) else: pe.setSheetByName("126账号") # 之所以要加,是因为操作的sheet不同,否则会加错sheet pe.write_cell_content(index + 2, 6, "成功", color=colors.GREEN) finally: pe.save_excel_file() driver.quit() else: pe.setSheetByName("126账号") # print ("this case is ignored!") # row[5].value="忽略" # 往测试结果中写入 pe.write_cell_content(index + 2, 6, "忽略") # 调用内部写的方法写入结果 pe.save_excel_file() # 写入内容后保存文件
#encoding=utf-8 import time from Util.ObjectMap import * from Util.ParsePageObjectRepository import ParserPageObjectRepository from Action.login import * class HomePage(object): def __init__(self,driver): self.driver=driver self.parse_config_file=ParserPageObjectRepository() self.login_page_items=self.parse_config_file.getItemsFromSection("126mail_homepage") # print self.login_page_items def address_book_page_link(self): locateType, locateExpression = self.login_page_items['home_page.addressbook'].split(">") # print locateType, locateExpression return getElement(self.driver, locateType, locateExpression) if __name__=="__main__": from selenium import webdriver driver = webdriver.Chrome(executable_path="e:\\chromedriver") login(driver, "liudongjie2015", "liudongjie126") hp=HomePage(driver) hp.address_book_page_link().click() time.sleep(5)
driver = webdriver.Chrome() driver.get('https://mail.qq.com/') pe = parseExcel(Excelobject_path) #实调例化excel调用 pe.set_sheet_by_name('登陆账号') #打开sheet页 info('当前sheet页'+pe.get_sheet_name()) rows = pe.get_all_rows()[1:] info('当前的所有行'+str(rows)) for id,row in enumerate(rows): if row[4].value == 'y': username =row[1].value password =row[2].value info('登陆用户名和密码'+str(username)+' '+str(password)) try: login(driver,username,password) pe.write_cell_content_time(id+2,7) pe.write_cell_content(id+2,6,'登陆pass') pe.set_sheet_by_name('联系人') info(pe.get_sheet_name()) rows1 = pe.get_all_rows()[1:] info('当前的所有行'+str(rows1)) for id1,row in enumerate(rows1): if row[4].value == 'y': try: info('输入信息'+str(row[1].value)+str(row[2].value)+str(row[3].value)) add_contact(driver,row[1].value,row[2].value,row[3].value) pe.write_cell_content_time(id1+2,6) pe.write_cell_content(id1+2,7,'pass') except Exception as e:
from selenium import webdriver from Action.login import * class logout: def __init__(self, dr): self.dr = dr self.wait = WebDriverWait(self.dr, 10, 0.2) self.parse_cofig_file = parsepageobjectrepository() self.logout_items = self.parse_cofig_file.getItemSection('logout') def get_logout_button(self): locateType, locateExpression = self.logout_items[ 'logout.button'].split('?') logout_button = getElement(self.dr, locateType, locateExpression) return logout_button if __name__ == '__main__': driver = webdriver.Chrome() driver.maximize_window() driver.get('http://dev.lantouzi.com/login') login(driver, '17300013245', '11111111') time.sleep(2) lout = logout(driver) lout.get_logout_button().click() time.sleep(2) driver.quit()
def choose_lable_release(self, typle): BSpage = Basic_public_Page(self.driver) if typle == '未发布': BSpage.selectpublic_type1_loable().click() elif typle == '已发布': BSpage.selectpublic_type2_loable().click() elif typle == '已删除': BSpage.selectpublic_type3_loable().click() if __name__ == '__main__': #测试代码 driver = webdriver.Chrome() driver.get('http://smart.sit2.sqbj.com/portal/login') Ba = Basic(driver) login(driver, '18301565568', '111111') time.sleep(3) page_basic_open(driver) Ba.Enter_the_public() # Ba.release_announcement('自动创建的标题名称3','温馨提示','自动创建的内容', # '/Users/hnbl009/gitfile/webtest/pyhon_zh_web/logs/1.png','/Users/hnbl009/gitfile/webtest/pyhon_zh_web/logs/1.png') # Ba.release_public('自动发布服务公示101','发布人','资质公示','自动发布的内容测试/n/t 测试换行','/Users/hnbl009/gitfile/webtest/pyhon_zh_web/logs/1.png','/Users/hnbl009/gitfile/webtest/pyhon_zh_web/logs/1.png') # print(Ba.select_table_element(2,2,'行数')) # print(Ba.select_table_element(2,2,'列数')) # print(Ba.select_table_element(4,1,0).text) # Ba.create_public('自动发布设备运行公示','发布人','设备运行公示','自动发布的内容测试/n/t 测试换行','/Users/hnbl009/gitfile/webtest/pyhon_zh_web/logs/1.png','/Users/hnbl009/gitfile/webtest/pyhon_zh_web/logs/1.png','预览截图') # time.sleep(0.5) # element = Ba.select_table_publicelement(1,1,0) # # time.sleep(3) # Ba.click_delete_button(1,6,'取消') # assert element == Ba.select_table_publicelement(1,1,1)
return getElement(self.driver, locateType, locateExpression) def contact_other_info(self): locateType, locateExpression = self.address_book_page_items['addcontacts_page.contactpersoncomment'].split('>') print locateType, locateExpression return getElement(self.driver, locateType, locateExpression) def contact_save_button(self): locateType, locateExpression = self.address_book_page_items['addcontacts_page.savecontactperson'].split('>') print locateType, locateExpression return getElement(self.driver, locateType, locateExpression) if __name__ == '__main__': driver = webdriver.Chrome(executable_path="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe") driver.get("http://mail.126.com") login(driver, "stavaea", "wxy900418") addressbook = AddressBook(driver) time.sleep(5) addressbook.address_book_link().click() addressbook.add_content_button().click() addressbook.contact_name().send_keys(u'王xx') addressbook.contact_email().send_keys('*****@*****.**') addressbook.contact_is_star().click() addressbook.contact_mobile().send_keys('18511437672') addressbook.contact_other_info().send_keys('my life') addressbook.contact_save_button().click() # def add_content(self): # try: # wait = WebDriverWait(self.driver, 10, 0.2) # address_book_link = wait.until(lambda x: x.find_element_by_xpath("//div[text()='通讯录']"))
# -*-coding:utf-8 -*- # @Author : Zhigang from selenium import webdriver from Util.FormatTime import * import time from PageObject.login_page import * from Action.login import * def visit_address_page(driver): hp = HomePage(driver) hp.address_book_page_link().click() time.sleep(3) if __name__ == "__main__": driver = webdriver.Chrome() login(driver, "yzg18730603667", "807237157@yzg") visit_address_page(driver)
from util.ObjectMap import * from util.ParsePageObjectRepository import ParsePageObjectRepositoryConfig from Action.login import * from Conf import login_info class HomePage(object): def __init__(self, driver): self.driver = driver self.parse_config_file = ParsePageObjectRepositoryConfig() self.login_page_items = self.parse_config_file.getItemsFromSection( "126mail_homepage") # print self.login_page_items def address_book_page_link(self): locateType, locateExpression = self.login_page_items[ 'home_page.addressbook'].split(">") # print locateType, locateExpression return getElement(self.driver, locateType, locateExpression) if __name__ == "__main__": from selenium import webdriver driver = webdriver.Chrome( executable_path="/Users/zhangbingwei/chromedriver") login(driver, login_info.username, login_info.password) hp = HomePage(driver) hp.address_book_page_link().click() time.sleep(5)
locateType,locateExpression=self.login_page_items['addcontacts_page.starcontacts'].split(">") print locateType, locateExpression return getElement(self.driver, locateType,locateExpression) #获取手机号码元素 def get_phone(self): locateType,locateExpression=self.login_page_items['addcontacts_page.contactpersonmobile'].split(">") print locateType, locateExpression return getElement(self.driver, locateType,locateExpression) #获取备注元素 def get_remark(self): locateType,locateExpression=self.login_page_items['addcontacts_page.contactpersoncomment'].split(">") print locateType, locateExpression return getElement(self.driver, locateType,locateExpression) #获取确定元素 def get_ok(self): locateType,locateExpression=self.login_page_items['addcontacts_page.savecontaceperson'].split(">") print locateType, locateExpression return getElement(self.driver, locateType,locateExpression) if __name__=="__main__": from selenium import webdriver from Action.login import * driver = webdriver.Chrome(executable_path="d:\\chromedriver") login(driver,'yinxunjiang123','gloryroad') visit_address_page(driver) lp=Address(driver) print lp.addressbook()
def contact_other_info(self): locateType, locateExpression = self.login_page_items[ 'addcontacts_page.contactpersoncomment'].split(">") print locateType, locateExpression return getElement(self.driver, locateType, locateExpression) def contact_save_button(self): locateType, locateExpression = self.login_page_items[ 'addcontacts_page.savecontaceperson'].split(">") print locateType, locateExpression return getElement(self.driver, locateType, locateExpression) if __name__ == "__main__": from selenium import webdriver driver = webdriver.Chrome(executable_path="e:\\chromedriver") login(driver, "testman1980", "wulaoshi1978") hp = HomePage(driver) hp.address_book_page_link().click() time.sleep(5) ap = AddressPage(driver) ap.add_contact_button().click() time.sleep(2) ap.contact_name().send_keys("gloryroad") ap.contact_email().send_keys("*****@*****.**") ap.contact_is_star().click() ap.contact_mobile().send_keys("1322222222") ap.contact_other_info().send_keys(u"光荣之路") ap.contact_save_button().click() time.sleep(5)