Skip to content

Commit 2e6d995

Browse files
committed
update for the unittest with selenium
1 parent 953f751 commit 2e6d995

File tree

7 files changed

+221
-0
lines changed

7 files changed

+221
-0
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/usr/bin/env python3
2+
# -*- coding:utf-8 -*-
3+
# Created on 2017/12/16
4+
5+
__author__ = "Jianguo Jin (jinjianguosky@hotmail.com)"
6+
7+
"""
8+
Description:
9+
10+
"""
11+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env python3
2+
# -*- coding:utf-8 -*-
3+
# Created on 2017/12/25
4+
5+
__author__ = "Jianguo Jin (jinjianguosky@hotmail.com)"
6+
7+
"""
8+
Description:
9+
天猫首页测试用例
10+
"""
11+
import unittest
12+
from selenium import webdriver
13+
from selenium.common.exceptions import NoSuchElementException
14+
from selenium.webdriver.common.by import By
15+
16+
url = "https://www.tmall.com"
17+
18+
19+
class HomePageTest(unittest.TestCase):
20+
@classmethod
21+
def setUpClass(cls):
22+
cls.driver = webdriver.Chrome()
23+
cls.driver.get(url)
24+
25+
def test_search_field(self):
26+
self.assertTrue(self.is_element_present(By.NAME, 'q'))
27+
28+
@classmethod
29+
def tearDownClass(cls):
30+
cls.driver.quit()
31+
32+
def is_element_present(self, how, what):
33+
try:
34+
self.driver.find_element(by=how, value=what)
35+
except NoSuchElementException:
36+
return False
37+
38+
return True
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env python3
2+
# -*- coding:utf-8 -*-
3+
# Created on 2017/12/26
4+
5+
__author__ = "Jianguo Jin (jinjianguosky@hotmail.com)"
6+
7+
"""
8+
Description:
9+
test suit 测试套装,整合测试Case
10+
"""
11+
import unittest
12+
13+
from sec26_unittestWithselenium.search_test import SearchTest
14+
from sec26_unittestWithselenium.homepage_test import HomePageTest
15+
16+
# 载入所有要分组集成的测试用例类。
17+
search_test = unittest.TestLoader().loadTestsFromTestCase(SearchTest)
18+
home_page_test = unittest.TestLoader().loadTestsFromTestCase(HomePageTest)
19+
20+
# 创建Test Suite, 合并测试用例
21+
tests = unittest.TestSuite([search_test, home_page_test])
22+
23+
unittest.TextTestRunner().run(tests)
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/python3
2+
# -*- coding:utf-8 -*-
3+
# Created by Jianguo on 2017/10/27
4+
5+
__author__ = "Jianguo Jin (jinjianguosky@hotmail.com)"
6+
7+
"""
8+
Description:
9+
搜索天猫某产品列表展示商品数
10+
"""
11+
from selenium import webdriver
12+
from time import sleep
13+
url = 'https://www.tmall.com/'
14+
15+
driver = webdriver.Chrome()
16+
driver.maximize_window()
17+
driver.get(url)
18+
driver.implicitly_wait(20)
19+
20+
search_field = driver.find_element_by_name('q')
21+
search_field.clear()
22+
search_field.send_keys('小米 Note')
23+
24+
search_field.submit()
25+
sleep(3)
26+
27+
products = driver.find_elements_by_xpath('//div[@id="J_ItemList"]/div/div/p[2]/a')
28+
29+
print(len(products))
30+
31+
for product in products:
32+
print(product.text)
33+
34+
driver.quit()
35+
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/usr/bin/env python3
2+
# -*- coding:utf-8 -*-
3+
# Created on 2017/12/16
4+
5+
__author__ = "Jianguo Jin (jinjianguosky@hotmail.com)"
6+
7+
"""
8+
Description:
9+
10+
"""
11+
import unittest
12+
from selenium import webdriver
13+
14+
15+
class SearchTest(unittest.TestCase):
16+
"""【天猫产品搜索】单元测试版本 """
17+
18+
def test_search_by_name(self):
19+
driver = webdriver.Chrome()
20+
driver.implicitly_wait(20)
21+
driver.get('https://www.tmall.com')
22+
23+
search_field = driver.find_element_by_name('q')
24+
search_field.clear()
25+
search_field.send_keys('小米 Note')
26+
search_field.submit()
27+
28+
products = driver.find_elements_by_xpath('//*[@id="J_ItemList"]/div/div/div/a[1]')
29+
self.assertEqual(158, len(products))
30+
31+
32+
if __name__ == '__main__':
33+
unittest.main()
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#!/usr/bin/env python3
2+
# -*- coding:utf-8 -*-
3+
# Created on 2017/12/16
4+
5+
__author__ = "Jianguo Jin (jinjianguosky@hotmail.com)"
6+
7+
"""
8+
Description:
9+
基于类的TestCase
10+
实例函数, 类函数,静态函数的区别
11+
12+
"""
13+
import unittest
14+
from selenium import webdriver
15+
16+
17+
class SearchTest(unittest.TestCase):
18+
"""【天猫产品搜索】单元测试版本 """
19+
20+
@classmethod
21+
def setUpClass(cls):
22+
cls.driver = webdriver.Chrome()
23+
cls.driver.implicitly_wait(20)
24+
cls.driver.get('https://www.tmall.com')
25+
cls.driver.maximize_window()
26+
27+
def test_search_by_name(self):
28+
search_field = self.driver.find_element_by_name('q')
29+
search_field.clear()
30+
search_field.send_keys('小米 Note')
31+
search_field.submit()
32+
33+
products = self.driver.find_elements_by_xpath('//*[@id="J_ItemList"]/div/div/div/a[1]')
34+
self.assertEqual(156, len(products))
35+
36+
@classmethod
37+
def tearDown(cls):
38+
cls.driver.quit()
39+
40+
41+
if __name__ == '__main__':
42+
unittest.main()
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/usr/bin/env python3
2+
# -*- coding:utf-8 -*-
3+
# Created on 2017/12/16
4+
5+
__author__ = "Jianguo Jin (jinjianguosky@hotmail.com)"
6+
7+
"""
8+
Description:
9+
实例方法级别的TestCase
10+
11+
"""
12+
import unittest
13+
from selenium import webdriver
14+
15+
16+
class SearchTest(unittest.TestCase):
17+
"""【天猫产品搜索】单元测试版本 """
18+
19+
def setUp(self):
20+
self.driver = webdriver.Chrome()
21+
self.driver.implicitly_wait(20)
22+
self.driver.get('https://www.tmall.com')
23+
self.driver.maximize_window()
24+
25+
def test_search_by_name(self):
26+
search_field = self.driver.find_element_by_name('q')
27+
search_field.clear()
28+
search_field.send_keys('小米 Note')
29+
search_field.submit()
30+
31+
products = self.driver.find_elements_by_xpath('//*[@id="J_ItemList"]/div/div/div/a[1]')
32+
self.assertEqual(156, len(products))
33+
34+
def tearDown(self):
35+
self.driver.quit()
36+
37+
38+
if __name__ == '__main__':
39+
unittest.main()

0 commit comments

Comments
 (0)