def test1_allow_attache_files(self): dataoper = DataReader('QT_Sche_add_facility_group.xml') Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) driver.wait(3) # 进入日程安排系统后台 driver.open(domain, "sys_app") driver.wait(2) driver.click("byid", "schedule") driver.click("byid", "schedule/system/common_set") # 判断上传附件是否开启 switch = driver.is_selected("byid", "allow_file_attachment") if switch is False: driver.click("byid", "allow_file_attachment") driver.click("bycss", "input.margin") sche_url = driver.testurl("qatest01") + "/g/schedule/index.csp?" driver.geturl(sche_url) driver.click("bycss", "span.menu_item > a") driver.wait(3) upfile = os.path.abspath('../Attachement/cybozu.gif') driver.input("byid", "file_upload_", upfile) driver.click("byid", "schedule_submit_button") driver.wait(3) if driver.is_element_present("bycss", "tt > a > img") is False: print "Upload file failed." assert False
def test1_add_all_day_appointment(self): global dataoper, sche_detail_url dataoper = DataReader('USER_INFO.xml') Operations().login(dataoper.readxml('u1', 0, 'username'), dataoper.readxml('u1', 0, 'password')) # 添加整日预定 sche_name = "banner sche test" driver.open(domain, "g") driver.click("byxpath", "//span[@id='appmenu-schedule']/a/div") # driver.findby("byxpath", "//span[@id='appmenu-schedule']/a/div").click() driver.click("byxpath", "//div[@id='smart_main_menu_part']/span/a") # 选择整日预定 driver.click("bycss", "span.tab_text_noimage > a") driver.input("byname", "title", sche_name) # 检索用户并添加 driver.wait(2) driver.input("byname", "keyword_CGID", "u2") driver.wait(2) driver.click("byid", "searchbox-submit-users") driver.wait(2) driver.click("bycss", "span.aButtonText-grn") driver.click("byid", "schedule_submit_button") driver.wait(3) sche_detail_url = driver.currenturl() sche_time = driver.gettext("bycss", "span.schedule_text_noticeable_grn") # print "output:", sche_time self.assertTrue( u"00:00~23:59" in sche_time) # self.assertIn(u"00:00~23:59", sche_time) user = driver.gettext("bylink", "u2") self.assertEqual(user, "u2")
def test1_add_my_group(self): global detail_url, group_url dataoper = DataReader('USER_INFO.xml') Operations().login(dataoper.readxml('u1', 0, 'username'), dataoper.readxml('u1', 0, 'password')) driver.wait(2) # language = "CH" # Operations().select_language(language) # 进入我的组的设置 driver.open(domain, "person_set") driver.wait(2) driver.click("byid", "user") driver.click("byid", "personal/user/mygroup_list") driver.click("byid", "personal_mygroup_add") driver.input("byname", "name", "my group") driver.input("byid", "textarea_id", "this is a comment") driver.click("byid", "mygroup_add_submit") group_url = driver.currenturl() # 进入详情页面 driver.click("byxpath", "//td[@id='view_part']/span/span/a") driver.wait(2) detail_url = driver.currenturl() name = driver.gettext("byxpath", "//div[3]/table/tbody/tr/td") comment = driver.gettext("bycss", "pre.format_contents") self.assertEqual(name, "my group") self.assertEqual(comment, "this is a comment")
def test1_add_follow(self): global dataoper, sche_detail_url dataoper = DataReader('USER_INFO.xml') Operations().login(dataoper.readxml('u1', 0, 'username'), dataoper.readxml('u1', 0, 'password')) # 添加预定 sche_name = "sche follow test" driver.open(domain, "g") driver.click("byxpath", "//span[@id='appmenu-schedule']/a/div") driver.click("byxpath", ".//*[@id='smart_main_menu_part']/span[1]/a") # 选择普通预定,输入标题,选择时间 driver.input("byname", "title", sche_name) driver.click("byid", "time_selector") driver.click("byid", "time9") driver.click("bylink", u"关闭") # 检索用户并添加 time.sleep(1) driver.input("byname", "keyword_CGID", "u2") time.sleep(1) driver.click("byid", "searchbox-submit-users") time.sleep(1) driver.click("bycss", "span.aButtonText-grn") driver.click("byid", "schedule_submit_button") time.sleep(2) sche_detail_url = driver.currenturl() # 输入comment driver.input("byid", "textarea_id", "comment1") driver.click("byclass", "button_min_width2_grn") time.sleep(2) # 验证 comment = driver.gettext("byxpath", "//pre[text()='comment1']") self.assertEqual(comment, "comment1")
def test_add_sche_with_users_facility(self): global dataoper dataoper = DataReader('QT_Sche_add_sche_with_users_facility.xml') Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) # 添加设备,设备组 try: addfac.add_facility_group() addfac.add_facility() except: print "设备、设备组无法添加" Operations().logout() # 使用u1操作 Operations().login(dataoper.readxml('sche', 0, 'username'), dataoper.readxml('sche', 0, 'password')) garoon_url = WebDriver().testurl("qatest01") + "/g/schedule/index.csp?" WebDriver().geturl(garoon_url) time.sleep(2) WebDriver().click("byxpath", ".//*[@id='smart_main_menu_part']/span[1]/a") time.sleep(2) # 选择结束时间 WebDriver().click('byid', "time_selector") WebDriver().click("byid", "time16") # 输入标题 WebDriver().input('byname', "title", "sche01") # 检索用户并添加 time.sleep(1) WebDriver().input("byname", "keyword_CGID", "u2") time.sleep(1) WebDriver().click("byid", "searchbox-submit-users") time.sleep(1) WebDriver().click("bycss", "span.aButtonText-grn") # 检索设备并添加 time.sleep(1) WebDriver().input("byid", "facility_search_text", "fac1") time.sleep(1) WebDriver().click("byid", "searchbox-submit-facilities") time.sleep(1) WebDriver().click("byxpath", "//table[@id='main_table']/tbody/tr[4]/td/table/tbody/tr/td[2]/div/div/span/a/span[2]") # 添加附件 upfile = os.path.abspath('../Attachement/cybozu.gif') WebDriver().input("byid", "file_upload_", upfile) time.sleep(1) try: WebDriver().click("byid", "schedule_submit_button") time.sleep(3) WebDriver().screenshot("../ScreenShot/add_sche_with_users_facility.png") except: print "不能添加预定,可能与其他预定重合" try: time.sleep(3) check1 = WebDriver().gettext("bylink", "u2") self.assertEqual(check1, "u2") check2 = WebDriver().gettext("bylink", "fac1") self.assertEqual(check2, "fac1") except NoSuchElementException as msg: print msg
def setUpClass(self): global domain, driver, dataoper, u1_name, u1_pwd, u2_name, u2_pwd domain = "qatest01" driver = WebDriver("open","firefox","local") driver.open(domain, "slash") dataoper = DataReader('USER_INFO.xml') u1_name = dataoper.readxml('u1', 0, 'username') u1_pwd = dataoper.readxml('u1', 0, 'password') u2_name = dataoper.readxml('u2', 0, 'username') u2_pwd = dataoper.readxml('u2', 0, 'password')
def test1_add_facility_group(self): global group_url, group_detail_url dataoper = DataReader('QT_Sche_add_facility_group.xml') Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) time.sleep(2) add_facility_group() check1 = driver.gettext("bycss", "td") check2 = driver.gettext("byxpath", "//tr[4]/td") self.assertEqual(check1, "fac_group1"), "设备组名称验证失败" self.assertEqual(check2, "this is a facility group") ,"设备组备注验证失败"
def test_add_organization(self): #读取测试数据 dataoper = DataReader('QT_System_add_organization.xml') #登录用户 Operations().login(dataoper.readxml('login', 0, 'username'),dataoper.readxml('login', 0, 'password')) time.sleep(2) #点击进入共通管理 admin_url = driver.testurl("qatest01") + "/admin/" driver.geturl(admin_url) time.sleep(2) #点击进入组织 driver.click('byxpath', dataoper.readxml('org', 0, 'org_link')) time.sleep(2) #点击添加组织按钮 driver.click('byid', dataoper.readxml('org', 0, 'add_botton')) #输入组织名 driver.input('byid', dataoper.readxml('org', 0, 'org_name'), dataoper.readxml('org', 0, 'name')) time.sleep(1) # #输入组织代码 # driver.input('byid', dataoper.readxml('org', 0, 'org_code'), dataoper.readxml('org', 0, 'code')) # time.sleep(1) #输入组织说明 driver.input('byid', dataoper.readxml('org', 0, 'org_comment'), dataoper.readxml('org', 0, 'comment')) time.sleep(1) #保存 driver.click('byid', dataoper.readxml('org', 0, 'save')) time.sleep(2) #验证(云版未验证) # checkpoint1 = driver.gettext('bycss',dataoper.readxml('login', 0,'checkpoint')) # value1 = dataoper.readxml('login', 0, 'value') # self.assertEqual(checkpoint1,value1) #退出 Operations().logout() time.sleep(3)
def test_add_organization(self): # 读取测试数据 dataoper = DataReader("QT_add_organization.xml") # 登录用户 Operations().login(dataoper.readxml("login", 0, "username"), dataoper.readxml("login", 0, "password")) time.sleep(2) # 点击进入共通管理 admin_url = "https://qatest01.cybozu.cn/admin/" WebDriver().geturl(admin_url) time.sleep(2) # 点击进入组织 WebDriver().clickitem("byxpath", dataoper.readxml("org", 0, "org_link")) time.sleep(2) # 点击添加组织按钮 WebDriver().clickitem("byid", dataoper.readxml("org", 0, "add_botton")) # 输入组织名 WebDriver().inputvalue("byid", dataoper.readxml("org", 0, "org_name"), dataoper.readxml("org", 0, "name")) time.sleep(1) # #输入组织代码 # WebDriver().inputvalue('byid', dataoper.readxml('org', 0, 'org_code'), dataoper.readxml('org', 0, 'code')) # time.sleep(1) # 输入组织说明 WebDriver().inputvalue("byid", dataoper.readxml("org", 0, "org_comment"), dataoper.readxml("org", 0, "comment")) time.sleep(1) # 保存 WebDriver().clickitem("byid", dataoper.readxml("org", 0, "save")) time.sleep(2) # 验证(云版未验证) # checkpoint1 = WebDriver().gettext('bycss',dataoper.readxml('login', 0,'checkpoint')) # value1 = dataoper.readxml('login', 0, 'value') # self.assertEqual(checkpoint1,value1) # 退出 Operations().logout() time.sleep(3)
def test_add_organization(self): #读取测试数据 dataoper = DataReader('QT_add_organization.xml') #登录用户 QT_Operations().login(dataoper.readxml('login', 0, 'username'),dataoper.readxml('login', 0, 'password')) time.sleep(2) #点击进入共通管理 admin_url = "https://qatest01.cybozu.cn/admin/" WebDriverHelp().geturl(admin_url) time.sleep(2) #点击进入组织 WebDriverHelp().clickitem('byxpath', dataoper.readxml('org', 0, 'org_link')) time.sleep(2) #点击添加组织按钮 WebDriverHelp().clickitem('byid', dataoper.readxml('org', 0, 'add_botton')) #输入组织名 WebDriverHelp().inputvalue('byid', dataoper.readxml('org', 0, 'org_name'), dataoper.readxml('org', 0, 'name')) time.sleep(1) # #输入组织代码 # WebDriverHelp().inputvalue('byid', dataoper.readxml('org', 0, 'org_code'), dataoper.readxml('org', 0, 'code')) # time.sleep(1) #输入组织说明 WebDriverHelp().inputvalue('byid', dataoper.readxml('org', 0, 'org_comment'), dataoper.readxml('org', 0, 'comment')) time.sleep(1) #保存 WebDriverHelp().clickitem('byid', dataoper.readxml('org', 0, 'save')) time.sleep(2) #验证(云版未验证) # checkpoint1 = WebDriverHelp().gettext('bycss',dataoper.readxml('login', 0,'checkpoint')) # value1 = dataoper.readxml('login', 0, 'value') # self.assertEqual(checkpoint1,value1) #退出 QT_Operations().logout() time.sleep(3)
def test_login_grn(self): # 读取测试数据 dataoper = DataReader('QT_login_grn.xml') # 登录用户 QT_Operations().login(dataoper.readxml('login', 0, 'username'),dataoper.readxml('login', 0, 'password')) # 进入Garoon grn_url = "https://qatest01.cybozu.cn/g/" WebDriverHelp().geturl(grn_url) # 点击用户下拉菜单 WebDriverHelp().clickitem('byid', dataoper.readxml('login', 0, 'item')) checkpoint1 = WebDriverHelp().gettext('bycss',dataoper.readxml('login', 0,'checkpoint')) value1 = dataoper.readxml('login', 0, 'value') self.assertEqual(checkpoint1,value1) # 退出 QT_Operations().logout() time.sleep(3) """
def test1_change_to_japanese(self): global lang_url, default_lang dataoper = DataReader('USER_INFO.xml') Operations().login(dataoper.readxml('u1', 0, 'username'), dataoper.readxml('u1', 0, 'password')) driver.wait(2) # 进入语言修改页面 lang_url = driver.testurl(domain) + "/settings/account" driver.geturl(lang_url) driver.wait(2) default_lang = Operations().get_language() driver.click("byid", ":1") driver.wait(2) # :3 日语,:4 英语,:5 中文 driver.click("byid", ":3") driver.wait(2) driver.click("byid", "form-submit-button-slash") driver.open(domain, "g") driver.refresh() driver.wait(2) name = driver.gettext("bycss", "#appmenu-portal>a>div>nobr") self.assertEqual(name, u"ポータル"), "语言不能修改为日语"
def test1_add_html_portlet(self): global detail_url, dataoper, portal_url dataoper = DataReader('USER_INFO.xml') Operations().login(dataoper.readxml('admin', 0, 'username'), dataoper.readxml('admin', 0, 'password')) time.sleep(2) # 进入追加HTML组件页面 html_portlet_name = "html portlet test" driver.open(domain, "sys_app") driver.click("byid", "portal") portal_url = driver.currenturl() time.sleep(2) driver.click("byid", "portal/system/html_portlet_list") driver.click("byxpath", "//div[@id='main_menu_part']/span/span/a") driver.input("byid", "portletName-label-line-value-def", html_portlet_name) content = "<table class='top_title'> <tr><td><strong>cybozu</strong></td></tr>" driver.input("byid", "data_editor_id", content) time.sleep(2) driver.click("bycss", "input.margin") driver.click("bylink", html_portlet_name) detail_url = driver.currenturl() driver.click("byxpath", "//div[@id='main_menu_part']/span[3]/span/a") if driver.is_element_present("bycss", ".top_title>tbody>tr>td") is False: assert False
def test2_add_comment(self): # 提交带附件的回复 dataoper = DataReader('QT_Space_create_discussion.xml') Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) driver.geturl(disc_url) driver.wait(3) upfile2 = os.path.abspath('../Attachement/test.txt') driver.input('byid', dataoper.readxml('disc', 0, 'comment_input'), dataoper.readxml('disc', 0, 'comment')) driver.wait(3) driver.input('byid', dataoper.readxml('disc', 0, 'comment_upfile'), upfile2) driver.wait(5) driver.click('byid', dataoper.readxml('disc', 0, 'comment_submit')) driver.wait(3)
def test_login_grn(self): # 读取测试数据 dataoper = DataReader("QT_login_grn.xml") # 登录用户 QT_Operations().login(dataoper.readxml("login", 0, "username"), dataoper.readxml("login", 0, "password")) # 点击用户下拉菜单 WebDriverHelp().clickitem("bycss", dataoper.readxml("login", 0, "item")) checkpoint = WebDriverHelp().gettext("bycss", dataoper.readxml("login", 0, "checkpoint")) value = dataoper.readxml("login", 0, "value") self.assertEqual(checkpoint, value) # 退出 QT_Operations().logout() time.sleep(3) """
def test_delete_space(self): # global dataoper, detail_url, current_url # 读取测试数据并登录 dataoper = DataReader('QT_Space_delete_space.xml') QT_Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) time.sleep(2) # 点击进入Garoon garoon_url = "https://qatest01.cybozu.cn/g/" WebDriverHelp().geturl(garoon_url) time.sleep(1) # 点击进入space WebDriverHelp().clickitem('bycss', dataoper.readxml('space', 0, 'space_icon')) time.sleep(2) # 创建space WebDriverHelp().clickitem('bylink', dataoper.readxml('space', 0, 'creat_link')) time.sleep(1) # 输入title WebDriverHelp().inputvalue('byid', dataoper.readxml('space', 0, 'space_title'), dataoper.readxml('space', 0, 'title')) time.sleep(1) # 搜索添加用户 WebDriverHelp().inputvalue('byname', dataoper.readxml('space', 0, 'e_keyword'), dataoper.readxml('space', 0, 'keyword')) time.sleep(1) WebDriverHelp().clickitem('byxpath', dataoper.readxml('space', 0, 'search')) time.sleep(1) WebDriverHelp().clickitem('byid', dataoper.readxml('space', 0, 'add_user')) time.sleep(1) # 选择公开方式 WebDriverHelp().clickitem('byid', dataoper.readxml('space', 0, 'public')) # 保存 WebDriverHelp().clickitem('byid', dataoper.readxml('space', 0, 'save')) time.sleep(1) # current_url = WebDriverHelp().currenturl() # print "current_url:", current_url # 进入详细页面 WebDriverHelp().clickitem('byid', dataoper.readxml('space', 0, 'droplist')) time.sleep(1) WebDriverHelp().clickitem('bylink', dataoper.readxml('space', 0, 'detail')) time.sleep(1) # 删除space try: WebDriverHelp().clickitem('byid', dataoper.readxml('space', 0, 'delete_link')) time.sleep(2) WebDriverHelp().clickitem('byxpath', dataoper.readxml('space', 0, 'delete_yes')) time.sleep(2) except Exception as msg: print msg else: print "space已删除"
def test1_create_space_category(self): global dataoper, detail_url # 读取测试数据 dataoper = DataReader('QT_Space_create_space_category.xml') # 登录用户 Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) time.sleep(2) # 点击进入garoon各应用程序管理 driver.open(domain, "sys_app") time.sleep(2) # 点击进入space driver.click('byid', dataoper.readxml('space', 0, 'space_link')) time.sleep(2) # 点击进入类别设置 driver.click('byid', dataoper.readxml('space', 0, 'cate_set')) time.sleep(1) # 点击添加目录按钮 driver.click('bylink', dataoper.readxml('space', 0, u'add_link')) time.sleep(1) # 输入类别名称 driver.input('byid', dataoper.readxml('space', 0, 'cate_name'), dataoper.readxml('space', 0, 'name')) time.sleep(1) # 输入类别备注 driver.input('byname', dataoper.readxml('space', 0, 'e_comment'), dataoper.readxml('space', 0, 'comment')) time.sleep(1) # 保存 driver.click('bycss', dataoper.readxml('space', 0, 'save')) time.sleep(2) # 进入详细页面 driver.click('bylink', dataoper.readxml('space', 0, 'cate_detail')) time.sleep(2) detail_url = driver.currenturl() # 验证,1.类别名称,2.类别说明 check = driver.gettext('byxpath', dataoper.readxml('space', 0, 'check')) check2 = driver.gettext('byxpath', dataoper.readxml('space', 0, 'check2')) # print "check:", check value = dataoper.readxml('space', 0, 'value') value2 = dataoper.readxml('space', 0, 'value2') # print "value:", value self.assertEqual(check,value), "类别名称不匹配,验证失败" self.assertEqual(check2,value2), "类别说明不匹配,验证失败"
def test1_create_discussion(self): # 新建space global dataoper, space_url, disc_url, upfile1 # 读取测试数据并登录 dataoper = DataReader('QT_Space_create_discussion.xml') Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) driver.wait(3) # 点击进入Garoon driver.open(domain, "g") driver.wait(2) # 点击进入space driver.click('bycss', dataoper.readxml('space', 0, 'space_icon')) driver.wait(3) # 创建space driver.click('byclass', dataoper.readxml('space', 0, 'creat_link')) driver.wait(2) # 输入title driver.input('byid', dataoper.readxml('space', 0, 'space_title'), dataoper.readxml('space', 0, 'title')) # 选择公开方式 driver.click('byid', dataoper.readxml('space', 0, 'public')) # 保存 driver.click('byid', dataoper.readxml('space', 0, 'save')) driver.wait(2) space_url = driver.currenturl() # 点击添加讨论区 driver.click('bycss', dataoper.readxml('disc', 0, 'add_disc')) driver.wait(2) # 输入标题、内容,上传附件并保存 upfile1 = os.path.abspath('../Attachement/cybozu.gif') driver.input('byid', dataoper.readxml('disc', 0, 'title_input'), dataoper.readxml('disc', 0, 'disc_title')) driver.wait(2) driver.input('byid', dataoper.readxml('disc', 0, 'content_input'), dataoper.readxml('disc', 0, 'content')) driver.wait(2) driver.input('byid', dataoper.readxml('disc', 0, 'disc_upfile'), upfile1) driver.wait(5) driver.click('byid', dataoper.readxml('disc', 0, 'disc_save')) # 获取discussion的URL disc_url = driver.currenturl()
def test1_create_private_space(self): global dataoper, detail_url, current_url # 读取测试数据并登录 dataoper = DataReader('QT_Space_create_private_space.xml') Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) driver.wait(3) # 点击进入Garoon driver.open(domain, "g") driver.wait(2) # 点击进入space driver.click('bycss', dataoper.readxml('space', 0, 'space_icon')) driver.wait(3) # 创建space driver.click('bylink', dataoper.readxml('space', 0, 'creat_link')) driver.wait(2) # 输入title driver.input('byid', dataoper.readxml('space', 0, 'space_title'), dataoper.readxml('space', 0, 'title')) driver.wait(2) # 搜索添加用户 driver.input('byname', dataoper.readxml('space', 0, 'e_keyword'), dataoper.readxml('space', 0, 'keyword')) driver.wait(2) driver.click('byxpath', dataoper.readxml('space', 0, 'search')) driver.wait(2) driver.click('byid', dataoper.readxml('space', 0, 'add_user')) driver.wait(2) # 选择公开方式 driver.click('byid', dataoper.readxml('space', 0, 'private')) # 保存 driver.click('byid', dataoper.readxml('space', 0, 'save')) driver.wait(2) current_url = driver.currenturl() # print "current_url:", current_url # 进入详细页面,并获取url driver.click('byid', dataoper.readxml('space', 0, 'droplist')) driver.wait(2) driver.click('bylink', dataoper.readxml('space', 0, 'detail')) driver.wait(2) detail_url = driver.currenturl() # 验证:1.确认space名称;2.确认公开方式 check = driver.gettext('bycss', dataoper.readxml('space', 0, 'check')) check2 = driver.gettext('byxpath', dataoper.readxml('space', 0, 'check2')) value = dataoper.readxml('space', 0, 'value') value2 = dataoper.readxml('space', 0, 'value2') self.assertEqual(check, value), u"space名称不匹配,验证失败" self.assertEqual(check2, value2), u"公开方式不匹配,验证失败"
def test_add_sche(self): #读取测试数据 dataoper = DataReader('QT_Sche_add_sche.xml') #登录用户 QT_Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) #进入Garoon grn_url = "https://qatest01.cybozu.cn/g/" WebDriverHelp().geturl(grn_url) time.sleep(2) #选择日程 WebDriverHelp().clickitem('bycss', dataoper.readxml('sche', 0, 'sche_icon')) time.sleep(2) #点击日程登录 WebDriverHelp().clickitem('bylink', dataoper.readxml('sche', 0, u'add_link')) time.sleep(2) #选择开始时间 WebDriverHelp().clickitem('bylid', dataoper.readxml('sche', 0, 'start_hour')) WebDriverHelp().selectvalue('byid', dataoper.readxml('sche', 0, 'start_hour'), dataoper.readxml('sche', 0, u'select_start_hour')) time.sleep(1) #选择结束时间 WebDriverHelp().clickitem('bylid', dataoper.readxml('sche', 0, 'end_hour')) WebDriverHelp().selectvalue('byid', dataoper.readxml('sche', 0, 'end_hour'), dataoper.readxml('sche', 0, u'select_end_hour')) time.sleep(1) #输入标题 WebDriverHelp().inputvalue('byname', dataoper.readxml('sche', 0, 'title'), dataoper.readxml('sche', 0, 'title_name')) time.sleep(1) #保存 WebDriverHelp().clickitem('bycss', dataoper.readxml('sche', 0, 'save')) time.sleep(2) #退出 QT_Operations().logout() time.sleep(3)
def test1_create_public_space(self): global dataoper, detail_url, current_url # 读取测试数据并登录 dataoper = DataReader("QT_Space_create_public_space.xml") Operations().login(dataoper.readxml("login", 0, "username"), dataoper.readxml("login", 0, "password")) driver.wait(3) # 点击进入Garoon driver.open(domain, "g") driver.wait(2) # 点击进入space driver.click("bycss", dataoper.readxml("space", 0, "space_icon")) driver.wait(3) # 创建space driver.click("bylink", dataoper.readxml("space", 0, "creat_link")) driver.wait(2) # 输入title driver.input("byid", dataoper.readxml("space", 0, "space_title"), dataoper.readxml("space", 0, "title")) driver.wait(2) # 搜索添加用户 driver.input("byname", dataoper.readxml("space", 0, "e_keyword"), dataoper.readxml("space", 0, "keyword")) driver.wait(2) driver.click("byxpath", dataoper.readxml("space", 0, "search")) driver.wait(2) driver.click("byid", dataoper.readxml("space", 0, "add_user")) driver.wait(2) # 选择公开方式 driver.click("byid", dataoper.readxml("space", 0, "public")) # 保存 driver.click("byid", dataoper.readxml("space", 0, "save")) driver.wait(2) current_url = driver.currenturl() # print "current_url:", current_url # 进入详细页面 driver.click("byid", dataoper.readxml("space", 0, "droplist")) driver.wait(2) driver.click("bylink", dataoper.readxml("space", 0, "detail")) driver.wait(2) detail_url = driver.currenturl() # 验证:1.确认space名称;2.确认公开方式 check = driver.gettext("byxpath", dataoper.readxml("space", 0, "check")) check2 = driver.gettext("byxpath", dataoper.readxml("space", 0, u"check2")) value = dataoper.readxml("space", 0, "value") value2 = dataoper.readxml("space", 0, u"value2") self.assertEqual(value, check), "space名称不匹配,验证失败" self.assertEqual(value2, check2), "space公开方式不匹配,验证失败"
def test1_add_regular_appointment(self): global dataoper, sche_url dataoper = DataReader('QT_Sche_add_regular_sche.xml') Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) lang = Operations().get_language() # 添加设备,设备组 try: addfac.add_facility_group() addfac.add_facility() except: print "设备、设备组无法添加" Operations().logout() # 使用u1操作 Operations().login(dataoper.readxml('sche', 0, 'username'), dataoper.readxml('sche', 0, 'password')) garoon_url = driver.testurl("qatest01") + "/g/schedule/index.csp?" driver.geturl(garoon_url) driver.wait(3) driver.click("byxpath", ".//*[@id='smart_main_menu_part']/span[1]/a") driver.wait(3) # 选择结束时间 driver.click('byid', "time_selector") driver.click("byid", "time16") # 输入标题 driver.input('byname', "title", "sche01") # 检索用户并添加 driver.wait(2) driver.input("byname", "keyword_CGID", "u2") driver.wait(2) driver.click("byid", "searchbox-submit-users") driver.wait(2) driver.click("bycss", "span.aButtonText-grn") # 检索设备并添加 driver.wait(2) driver.input("byid", "facility_search_text", "fac1") driver.wait(2) driver.click("byid", "searchbox-submit-facilities") driver.wait(2) if lang == "CH": driver.click("byxpath", "//span[text()='添加']") else: driver.click("byxpath", ".//*[@id='schedule/repeat_add']/table/tbody/tr[5]/td/table/tbody/tr/td[2]/div/div[1]/span/a") # 添加附件 upfile = os.path.abspath('../Attachement/cybozu.gif') driver.input("byid", "file_upload_", upfile) driver.wait(2) try: driver.click("byid", "schedule_submit_button") driver.wait(5) driver.screenshot("../ScreenShot/add_sche_with_users_facility.png") except: print "不能添加预定,可能与其他预定重合" sche_url = driver.currenturl() driver.wait(5) # 验证用户、设备是否添加 check1 = driver.gettext("bylink", "u2") self.assertEqual(check1, "u2") check2 = driver.gettext("bylink", "fac1") self.assertEqual(check2, "fac1")
def test1_add_repeat_appointment(self): global dataoper, sche_detail_url dataoper = DataReader('USER_INFO.xml') Operations().login(dataoper.readxml('u1', 0, 'username'), dataoper.readxml('u1', 0, 'password')) lang = Operations().get_language() print "lang:", lang # 添加整日预定 sche_name = "repeat sche test" driver.open(domain, "g") driver.click("byxpath", "//span[@id='appmenu-schedule']/a/div") # driver.findby("byxpath", "//span[@id='appmenu-schedule']/a/div").click() driver.click("byxpath", "//div[@id='smart_main_menu_part']/span/a") # 选择重复预定 driver.click("byid", "tab-repeat-schedule") driver.click("byid", "week") # 输入时间 # driver.click("byname", "wday") if lang == "CH": driver.select("byname", "wday", u"星期三") elif lang == "EN": driver.select("byname", "wday", "Wednesday") elif lang == "JP": driver.select("byname", "wday", u"水曜日") # driver.click("bycss", "option[value=\"3\"]") driver.click("byid", "time_selector") driver.click("byid", "time9") if lang == "CH": driver.click("bylink", u"关闭") elif lang == "EN": driver.click("bylink", u"Close") elif lang == "JP": driver.click("bylink", u"閉じる") driver.input("byname", "title", sche_name) # 检索用户并添加 time.sleep(1) driver.input("byname", "keyword_CGID", "u2") time.sleep(1) driver.click("byid", "searchbox-submit-users") time.sleep(1) driver.click("bycss", "span.aButtonText-grn") # 检索设备并添加 time.sleep(1) driver.input("byid", "facility_search_text", "test") time.sleep(1) driver.click("byid", "searchbox-submit-facilities") time.sleep(1) if lang == "CH": driver.click("byxpath", "//span[text()='添加']") else: driver.click("byxpath", ".//*[@id='schedule/repeat_add']/table/tbody/tr[5]/td/table/tbody/tr/td[2]/div/div[1]/span/a") # 保存 driver.click("byid", "schedule_submit_button") time.sleep(2) sche_detail_url = driver.currenturl() # 验证日期、时间、参加者、设备 wday = driver.gettext("byxpath", ".//*[@id='body']/div[3]/div/div/table/tbody/tr[2]/td") # print "wday:", wday if lang == "CH": self.assertTrue(u"星期三" in wday) elif lang == "EN": self.assertTrue("Wednesday" in wday) elif lang == "JP": self.assertTrue(u"水曜日" in wday) sche_time = driver.gettext("bycss", "span.schedule_text_noticeable_grn") # print "time:", sche_time if lang == "CH" or lang == "JP": self.assertTrue(u"09:00 ~ 10:00" in sche_time) else: self.assertTrue("09:00 - 10:00" in sche_time) user = driver.gettext("bylink", "u2") self.assertEqual(user, "u2") facility = driver.gettext("bylink", "test") self.assertEqual(facility, "test")
def test1_create_public_space(self): global dataoper, detail_url, current_url # 读取测试数据并登录 dataoper = DataReader('QT_Space_create_public_space.xml') QT_Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) time.sleep(2) # 点击进入Garoon garoon_url = "https://qatest01.cybozu.cn/g/" WebDriverHelp().geturl(garoon_url) time.sleep(1) # 点击进入space WebDriverHelp().clickitem('bycss', dataoper.readxml('space', 0, 'space_icon')) time.sleep(2) # 创建space WebDriverHelp().clickitem('bylink', dataoper.readxml('space', 0, 'creat_link')) time.sleep(1) # 输入title WebDriverHelp().inputvalue('byid', dataoper.readxml('space', 0, 'space_title'), dataoper.readxml('space', 0, 'title')) time.sleep(1) # 搜索添加用户 WebDriverHelp().inputvalue('byname', dataoper.readxml('space', 0, 'e_keyword'), dataoper.readxml('space', 0, 'keyword')) time.sleep(1) WebDriverHelp().clickitem('byxpath', dataoper.readxml('space', 0, 'search')) time.sleep(1) WebDriverHelp().clickitem('byid', dataoper.readxml('space', 0, 'add_user')) time.sleep(1) # 选择公开方式 WebDriverHelp().clickitem('byid', dataoper.readxml('space', 0, 'public')) # 保存 WebDriverHelp().clickitem('byid', dataoper.readxml('space', 0, 'save')) time.sleep(1) current_url = WebDriverHelp().currenturl() # print "current_url:", current_url # 进入详细页面 WebDriverHelp().clickitem('byid', dataoper.readxml('space', 0, 'droplist')) time.sleep(1) WebDriverHelp().clickitem('bylink', dataoper.readxml('space', 0, 'detail')) time.sleep(1) detail_url = WebDriverHelp().currenturl() # 验证:1.确认space名称;2.确认公开方式 check = WebDriverHelp().gettext('byxpath', dataoper.readxml('space', 0, 'check')) check2 = WebDriverHelp().gettext('byxpath', dataoper.readxml('space', 0, u'check2')) value = dataoper.readxml('space', 0, 'value') value2 = dataoper.readxml('space', 0, u'value2') try: self.assertEqual(check, value) self.assertEqual(check2, value2) except AssertionError as msg: print msg else: print "能正常添加公开space"
def test1_add_share_todo(self): # 新建space global dataoper, space_url # 读取测试数据并登录 dataoper = DataReader('QT_Space_add_share_todo.xml') Operations().login(dataoper.readxml('login', 0, 'username'), dataoper.readxml('login', 0, 'password')) driver.wait(3) # 点击进入Garoon driver.open(domain, "g") driver.wait(2) # 点击进入space driver.click('bycss', dataoper.readxml('space', 0, 'space_icon')) driver.wait(3) # 创建space driver.click('bylink', dataoper.readxml('space', 0, 'creat_link')) driver.wait(2) # 输入title driver.input('byid', dataoper.readxml('space', 0, 'space_title'), dataoper.readxml('space', 0, 'title')) # 搜索添加用户 driver.input('byname', dataoper.readxml('space', 0, 'e_keyword'), dataoper.readxml('space', 0, 'keyword')) driver.wait(2) driver.click('byxpath', dataoper.readxml('space', 0, 'search')) driver.wait(2) driver.click('byid', dataoper.readxml('space', 0, 'add_user')) driver.wait(2) # 保存 driver.click('byid', dataoper.readxml('space', 0, 'save')) driver.wait(2) space_url = driver.currenturl() # 点击添加Todo,输入标题、选择成员并保存 driver.click('bycss', dataoper.readxml('todo', 0, 'todo_add')) driver.wait(3) driver.input('byid', dataoper.readxml('todo', 0, 'todo_name_input'), dataoper.readxml('todo', 0, 'todo_name')) driver.wait(2) driver.select('byid', dataoper.readxml('todo', 0, 'select_member'), dataoper.readxml('todo', 0, 'member1')) driver.select('byid', dataoper.readxml('todo', 0, 'select_member'), dataoper.readxml('todo', 0, 'member2')) driver.wait(2) driver.click('byid', dataoper.readxml('todo', 0, 'add_member')) driver.wait(3) driver.click('byid', dataoper.readxml('todo', 0, 'save')) driver.wait(3)