本文整理汇总了Python中selenium.webdriver.firefox.webdriver.WebDriver.find_element_by_link_text方法的典型用法代码示例。如果您正苦于以下问题:Python WebDriver.find_element_by_link_text方法的具体用法?Python WebDriver.find_element_by_link_text怎么用?Python WebDriver.find_element_by_link_text使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类selenium.webdriver.firefox.webdriver.WebDriver
的用法示例。
在下文中一共展示了WebDriver.find_element_by_link_text方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: BasicViewTests
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class BasicViewTests(unittest.TestCase):
"""
Just visit all the views and make sure they look okay
"""
def setUp(self):
self.selenium = WebDriver()
self.live_server_url = LIVE_SERVER_URL
# login boilerplate blah
self.selenium.get(self.live_server_url + '/login')
username_input = self.selenium.find_element_by_name("username_or_email")
username_input.send_keys(ADMIN_USERNAME)
password_input = self.selenium.find_element_by_name("password")
password_input.send_keys(ADMIN_PASSWORD)
self.selenium.find_element_by_xpath('//button[@type="submit"]').click()
def test_home(self):
self.selenium.get(self.live_server_url + '/')
# two project links are there
self.selenium.find_element_by_link_text('1000 Genomes')
def test_project_home(self):
self.selenium.get(self.live_server_url + '/project/1kg')
def test_family_home(self):
self.selenium.get(self.live_server_url + '/project/1kg/family/HG1')
def tearDown(self):
self.selenium.quit()
示例2: Precondition
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class Precondition(unittest.TestCase):
def setUp(self):
self.wd = WebDriver()
self.wd.implicitly_wait(60)
def tearDown(self):
# We should delete all created test form
self.deete_group()
self.wd.find_element_by_link_text("Logout").click()
self.wd.quit()
示例3: TestContact
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class TestContact(ContractBase):
def setUp(self):
self.wd = WebDriver()
self.wd.implicitly_wait(60)
def test_of_add_new_valid_contact(self):
"""
Validation of add correct new contact with full data
"""
wd = self.wd
self.open_home_page(wd)
self.login(wd, UserLogin.name, UserLogin.password)
self.add_contract(wd)
self.add_full_name(wd, first_name=Profinity.correct_data, last_name=Profinity.correct_data,
middle_name=Profinity.correct_data, nickname=Profinity.correct_data)
self.add_title(wd, title=Profinity.correct_data)
self.add_company(wd, company_name=Profinity.correct_data)
self.add_address(wd, address_name=Profinity.correct_data)
self.add_phone_number(wd, work=Profinity.correct_phone_number, fax=Profinity.correct_phone_number,
home=Profinity.correct_phone_number, mobile=Profinity.correct_phone_number)
self.add_email(wd, email1=Profinity.correct_email, email2=Profinity.correct_email,
email3=Profinity.correct_email)
self.add_homepage(wd, homepage=Profinity.correct_data)
self.add_year(wd)
# secondary data
self.add_secondary_adress(wd, address=Profinity.correct_data)
self.add_secondary_home(wd, phone=Profinity.correct_data)
self.add_secondary_notes(wd, notes=Profinity.correct_data)
wd.find_element_by_xpath("//div[@id='content']/form/input[21]").click()
def tearDown(self):
# Here should use some method to delete test data, i will try do it ASAP
# TODO:
'''self.wd.find_element_by_link_text("home").click()
if not self.wd.find_element_by_id("MassCB").is_selected():
self.wd.find_element_by_id("MassCB").click()
self.wd.find_element_by_xpath("//div[@id='content']/form[2]/div[2]/input").click()'''
self.wd.find_element_by_link_text("Logout").click()
示例4: send_offer
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
def send_offer(cipher, job_reference, client, buyer_reference,
worker_reference):
driver = WebDriver()
driver.implicitly_wait(time_to_wait=10)
# Login
selenium_login(webdriver=driver)
# Worker's page
driver.get('https:/www.odesk.com/users/%s' % cipher)
driver.find_element_by_link_text("Contact").click()
# Make an offer link
driver.find_element_by_id("jsMakeOfferLink").click()
el = driver.find_element_by_css_selector("#jsTeamSelector > select")
el.find_element_by_css_selector("option[value=\"%s\"]" % buyer_reference).\
click()
driver.find_element_by_id("jsMakeOfferProceed").click()
# Sign in to make an offer
driver.find_element_by_id("password").clear()
driver.find_element_by_id("password").send_keys(settings.ODESK_TEST_ACC_PASS)
try:
driver.find_element_by_id("answer").clear()
driver.find_element_by_id("answer").send_keys(settings.ODESK_TEST_ACC_ANSWER)
except selenium.exceptions.NoSuchElementException:
pass
driver.find_element_by_id("submitButton").click()
# Make an offer form
driver.find_element_by_id("useExistingJob-yes").click()
el = driver.find_element_by_id("jobPosting")
el.find_element_by_css_selector("option[value=\"%s\"]" % job_reference).\
click()
driver.find_element_by_id("employerRate").clear()
driver.find_element_by_id("employerRate").send_keys("0.01")
driver.find_element_by_id("setLimit-yes").click()
driver.find_element_by_id("limit").clear()
driver.find_element_by_id("limit").send_keys("0")
driver.find_element_by_id("submitButton").click()
# Agreement
driver.find_element_by_id("agreement").click()
driver.find_element_by_id("submitButton").click()
driver.close()
示例5: LoginTest
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class LoginTest(LiveServerTestCase):
def setUp(self):
self.browser = WebDriver()
self.browser.implicitly_wait(5)
def tearDown(self):
self.browser.quit()
def test_title(self):
open_page(self.browser, '/login/', self.live_server_url)
self.assertIn('Login Supernova', self.browser.title)
def test_login_correct(self):
create_user('john','[email protected]','johnpassword')
steps_to_login(self.browser,self.live_server_url,'john','johnpassword')
self.assertIn('Index', self.browser.title)
def test_login_incorrect(self):
create_user('john','[email protected]','johnpassword')
steps_to_login(self.browser,self.live_server_url,'john1','johnpassword1')
login_incorrect = self.browser.find_element_by_tag_name('body')
self.assertIn('Invalid login details supplied.', login_incorrect.text)
def test_login_and_logout(self):
create_user('john','[email protected]','johnpassword')
steps_to_login(self.browser,self.live_server_url,'john','johnpassword')
login_successful = self.browser.find_element_by_tag_name('strong')
self.assertIn('Welcome to Supernova', login_successful.text)
link_logout = self.browser.find_element_by_link_text('Logout')
link_logout.click()
logout_sucessful = self.browser.find_element_by_tag_name('h1')
self.assertIn('Login to Supernova',logout_sucessful.text)
def test_login_logout_and_login(self):
create_user('john','[email protected]','johnpassword')
steps_to_login(self.browser,self.live_server_url,'john','johnpassword')
login_successful = self.browser.find_element_by_tag_name('strong')
self.assertIn('Welcome to Supernova', login_successful.text)
link_logout = self.browser.find_element_by_link_text('Logout')
link_logout.click()
logout_sucessful = self.browser.find_element_by_tag_name('h1')
self.assertIn('Login to Supernova',logout_sucessful.text)
steps_to_login(self.browser,self.live_server_url,'john','johnpassword')
login_successful = self.browser.find_element_by_tag_name('strong')
self.assertIn('Welcome to Supernova', login_successful.text)
示例6: TestGroup
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class TestGroup(unittest.TestCase):
def setUp(self):
self.wd = WebDriver()
self.wd.implicitly_wait(60)
def test_create_group(self):
"""Validation of correct create test group"""
success = True
wd = self.wd
wd.get("http://localhost/addressbook/group.php")
wd.find_element_by_name("user").click()
wd.find_element_by_name("user").clear()
wd.find_element_by_name("user").send_keys("admin")
wd.find_element_by_id("LoginForm").click()
wd.find_element_by_name("pass").click()
wd.find_element_by_name("pass").clear()
wd.find_element_by_name("pass").send_keys("secret")
wd.find_element_by_css_selector("input[type=\"submit\"]").click()
wd.find_element_by_name("new").click()
wd.find_element_by_name("group_name").click()
wd.find_element_by_name("group_name").clear()
wd.find_element_by_name("group_name").send_keys("test")
wd.find_element_by_name("group_header").click()
wd.find_element_by_name("group_header").clear()
wd.find_element_by_name("group_header").send_keys("test")
wd.find_element_by_name("group_footer").click()
wd.find_element_by_name("group_footer").clear()
wd.find_element_by_name("group_footer").send_keys("test")
wd.find_element_by_name("submit").click()
wd.find_element_by_css_selector("div.msgbox").click()
wd.find_element_by_link_text("group page").click()
self.assertTrue(success)
def tearDown(self):
success = True
# We should delete all created test form
self.wd.find_element_by_link_text("groups").click()
self.wd.find_element_by_css_selector("span.group").click()
if not self.wd.find_element_by_name("selected[]").is_selected():
self.wd.find_element_by_name("selected[]").click()
self.wd.find_element_by_xpath("//div[@id='content']/form/input[5]").click()
self.wd.find_element_by_link_text("Logout").click()
self.assertTrue(success)
self.wd.quit()
示例7: HomePageSeleleniumTests
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class HomePageSeleleniumTests(StaticLiveServerTestCase):
"""Selenium tests for the home page"""
def setUp(self):
"""Opens the home page"""
self.selenium = WebDriver()
self.selenium.get('{0}{1}'.format(self.live_server_url, '/'))
def tearDown(self):
self.selenium.quit()
super()
def test_elements(self):
"""Tests to ensure the proper elements are present"""
self.selenium.find_elements_by_link_text('iU')
self.selenium.find_elements_by_link_text('Welcome')
about_us = self.selenium\
.find_elements_by_xpath('//*[@href="#about-us"]')
assert_true(len(about_us), 2)
self.selenium.find_element_by_link_text('Features').click()
示例8: LoginRegUrlSettingsTest
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class LoginRegUrlSettingsTest(LiveServerTestCase):
def setUp(self):
self.browser = WebDriver()
self.browser.implicitly_wait(3)
self.n1 = Node.objects.create(
title='TestNodeOne',
description='The first test node'
)
self.u1 = User.objects.create_user(
username='test1', email='[email protected]', password='111'
)
self.t1 = Topic.objects.create(
title='Test Topic 1',
user=self.u1,
content_raw='This is test topic __1__',
node=self.n1,
)
def tearDown(self):
self.browser.quit()
@override_settings(NIJI_LOGIN_URL_NAME="niji:reg")
def test_login_url_name(self):
self.browser.get(self.live_server_url+reverse("niji:index"))
login_btn = self.browser.find_element_by_link_text("Log in")
self.assertEqual(login_btn.get_attribute("href"), self.live_server_url+reverse("niji:reg"))
self.browser.get(self.live_server_url+reverse("niji:topic", kwargs={"pk": self.t1.pk}))
login_link = self.browser.find_element_by_link_text("Login")
self.assertEqual(login_link.get_attribute("href"), self.live_server_url+reverse("niji:reg"))
@override_settings(NIJI_REG_URL_NAME="niji:login")
def test_reg_url_name(self):
self.browser.get(self.live_server_url+reverse("niji:index"))
reg_btn = self.browser.find_element_by_link_text("Reg")
self.assertEqual(reg_btn.get_attribute("href"), self.live_server_url+reverse("niji:login"))
self.browser.get(self.live_server_url+reverse("niji:topic", kwargs={"pk": self.t1.pk}))
reg_link = self.browser.find_element_by_link_text("Create a New User")
self.assertEqual(reg_link.get_attribute("href"), self.live_server_url+reverse("niji:login"))
示例9: RegisteredUserTest
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class RegisteredUserTest(LiveServerTestCase):
"""
Test as a registered user
"""
def setUp(self):
self.browser = WebDriver()
self.browser.implicitly_wait(3)
self.n1 = Node.objects.create(
title='TestNodeOne',
description='The first test node'
)
self.u1 = User.objects.create_user(
username='test1', email='[email protected]', password='111'
)
self.u2 = User.objects.create_user(
username='test2', email='[email protected]', password='222'
)
# Create 198 topics
for i in range(1, 100):
setattr(
self,
't%s' % i,
Topic.objects.create(
title='Test Topic %s' % i,
user=self.u1,
content_raw='This is test topic __%s__' % i,
node=self.n1
)
)
for i in range(100, 199):
setattr(
self,
't%s' % i,
Topic.objects.create(
title='Test Topic %s' % i,
user=self.u2,
content_raw='This is test topic __%s__' % i,
node=self.n1
)
)
def tearDown(self):
self.browser.quit()
def test_edit_own_topic(self):
self.browser.get(self.live_server_url+reverse('niji:index'))
login(self.browser, "test1", "111")
self.assertIn("Log out", self.browser.page_source)
own_topic = getattr(self, "t%s" % (random.choice(range(1, 100))))
self.browser.get(self.live_server_url+reverse("niji:topic", kwargs={"pk": own_topic.id}))
self.browser.find_element_by_link_text("Edit").click()
content_raw = self.browser.find_element_by_name("content_raw")
content_raw.clear()
content_raw.send_keys("This topic is edited")
self.browser.find_element_by_name("submit").click()
self.assertIn("This topic is edited", self.browser.page_source)
def test_edit_others_topic(self):
self.browser.get(self.live_server_url+reverse('niji:index'))
login(self.browser, "test1", "111")
self.assertIn("Log out", self.browser.page_source)
others_topic = getattr(self, "t%s" % (random.choice(range(100, 199))))
self.browser.get(self.live_server_url+reverse("niji:topic", kwargs={"pk": others_topic.id}))
self.assertNotIn(
"<span class=\"label label-success\">Edit</span>",
self.browser.page_source
)
self.browser.get(
self.live_server_url+reverse("niji:edit_topic", kwargs={"pk": others_topic.id})
)
self.assertIn("You are not allowed to edit other's topic", self.browser.page_source)
def test_reply_topic(self):
self.browser.get(self.live_server_url+reverse('niji:index'))
login(self.browser, "test1", "111")
self.assertIn("Log out", self.browser.page_source)
topic = getattr(self, "t%s" % (random.choice(range(1, 199))))
self.browser.get(self.live_server_url+reverse("niji:topic", kwargs={"pk": topic.id}))
content_raw = self.browser.find_element_by_name("content_raw")
content_raw.clear()
content_raw.send_keys("This is a reply")
self.browser.find_element_by_name("submit").click()
self.assertIn("This is a reply", self.browser.page_source)
def test_create_topic(self):
self.browser.get(self.live_server_url+reverse('niji:index'))
login(self.browser, "test1", "111")
self.assertIn("Log out", self.browser.page_source)
self.browser.get(self.live_server_url+reverse("niji:create_topic"))
node = self.browser.find_element_by_name("node")
node = Select(node)
title = self.browser.find_element_by_name("title")
content_raw = self.browser.find_element_by_name("content_raw")
node.select_by_visible_text(self.n1.title)
title.send_keys("test title")
content_raw.send_keys("this is content")
self.browser.find_element_by_name("submit").click()
#.........这里部分代码省略.........
示例10: VisitorTest
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class VisitorTest(LiveServerTestCase):
"""
Test as a visitor (unregistered user)
"""
def setUp(self):
self.browser = WebDriver()
self.browser.implicitly_wait(3)
self.n1 = Node.objects.create(
title='TestNodeOne',
description='The first test node'
)
self.u1 = User.objects.create_user(
username='test1', email='[email protected]', password='111'
)
self.u2 = User.objects.create_user(
username='test2', email='[email protected]', password='222'
)
# Create 99 topics
for i in range(1, 100):
setattr(
self,
't%s' % i,
Topic.objects.create(
title='Test Topic %s' % i,
user=self.u1,
content_raw='This is test topic __%s__' % i,
node=self.n1
)
)
def tearDown(self):
self.browser.quit()
def test_index(self):
self.browser.get(self.live_server_url+reverse('niji:index'))
self.assertIn('niji', self.browser.page_source.lower())
def test_topic_page_content(self):
self.browser.get(self.live_server_url+reverse('niji:topic', kwargs={'pk': self.t88.pk}))
self.assertIn('This is test topic <strong>88</strong>', self.browser.page_source)
def test_node_page(self):
self.browser.get(self.live_server_url+reverse('niji:node', kwargs={'pk': self.n1.pk}))
topics = self.browser.find_elements_by_css_selector('ul.topic-list > li')
self.assertEqual(len(topics), 30)
def test_user_login(self):
self.browser.get(self.live_server_url+reverse('niji:index'))
self.assertNotIn("Log out", self.browser.page_source)
login(self.browser, "test1", "111")
self.assertEqual(self.browser.current_url, self.live_server_url+reverse("niji:index"))
self.assertIn("Log out", self.browser.page_source)
def test_usr_reg(self):
self.browser.get(self.live_server_url+reverse('niji:index'))
self.browser.find_element_by_link_text("Reg").click()
self.assertEqual(self.browser.current_url, self.live_server_url+reverse("niji:reg"))
username = self.browser.find_element_by_name('username')
email = self.browser.find_element_by_name('email')
password1 = self.browser.find_element_by_name('password1')
password2 = self.browser.find_element_by_name('password2')
username.send_keys("test3")
password1.send_keys("333")
password2.send_keys("333")
email.send_keys("[email protected]")
password1.send_keys(Keys.RETURN)
self.assertEqual(self.browser.current_url, self.live_server_url+reverse("niji:index"))
self.assertIn("Log out", self.browser.page_source)
self.assertIn("test3", self.browser.page_source)
def test_user_topic(self):
self.browser.get(self.live_server_url+reverse("niji:user_topics", kwargs={"pk": self.u1.id}))
self.assertIn("UID:", self.browser.page_source)
def test_user_info(self):
self.browser.get(self.live_server_url+reverse("niji:user_info", kwargs={"pk": self.u1.id}))
self.assertIn("Topics created by %s" % self.u1.username, self.browser.page_source)
def test_search(self):
self.browser.get(self.live_server_url+reverse("niji:search", kwargs={"keyword": "test"}))
self.assertIn("Search: test", self.browser.page_source)
def test_pagination(self):
self.browser.get(self.live_server_url+reverse("niji:index", kwargs={"page": 2}))
self.assertIn("«", self.browser.page_source)
prev = self.browser.find_element_by_link_text("«")
prev.click()
self.assertNotIn("«", self.browser.page_source)
self.assertIn("»", self.browser.page_source)
nxt = self.browser.find_element_by_link_text("»")
nxt.click()
self.assertEqual(self.browser.current_url, self.live_server_url+reverse("niji:index", kwargs={"page": 2}))
示例11: WebDriver
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
# -*- coding: utf-8 -*-
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
success = True
driver = WebDriver()
try:
driver.set_window_size(1900, 1000)
driver.get("https://shop.briggsandstratton.com/us/en")
driver.find_element_by_link_text("Shop Repair Parts Now »").click()
# This try statement is used to detect the Foresee overlay that pops up at this point in FF
# Without this, Chrome will not continue to next step as it will error out while waiting
try:
wait = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.LINK_TEXT, "No, thanks")))
driver.find_element_by_link_text("No, thanks").click()
except Exception, e:
print("Foresee not seen here")
WebDriverWait(driver, 10).until_not(EC.presence_of_element_located((By.ID, "fsrOverlay")))
driver.find_element_by_id("aarisearch_brands_jl").click()
wait = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, "//ul[@class='ari-caused-spacer-expand']/li[3]")))
driver.find_element_by_xpath("//ul[@class='ari-caused-spacer-expand']/li[3]").click()
driver.find_element_by_id("arisearch_txtSearch").click()
driver.find_element_by_id("arisearch_txtSearch").clear()
示例12: SeleniumTests
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class SeleniumTests(LiveServerTestCase):
"""Base class for all Selenium test classes to inherit from"""
@classmethod
def setUpClass(self):
self.selenium = WebDriver()
self.selenium.implicitly_wait(3)
super(SeleniumTests, self).setUpClass()
@classmethod
def tearDownClass(self):
self.selenium.quit()
super(SeleniumTests, self).tearDownClass()
def setUp(self):
# Create a test user and admin account
self.user_name = 'SeleniumTestUser'
self.user_pass = 'test'
if User.objects.filter(username=self.user_name).count() == 0:
User.objects.create_user(self.user_name, '', self.user_pass).save()
self.admin_name = 'SeleniumAdministrativeUser'
self.admin_pass = 'test'
if User.objects.filter(username=self.admin_name).count() == 0:
User.objects.create_superuser(self.admin_name, '', self.admin_pass).save()
def tearDown(self):
self.selenium.delete_all_cookies()
def link_text_exists(self, link_text):
try:
self.selenium.find_element_by_link_text(link_text)
except NoSuchElementException:
return False
return True
def xpath_exists(self, xpath):
try:
self.selenium.find_element_by_xpath(xpath)
except NoSuchElementException:
return False
return True
def element_with_selector_exists(self, selector):
try:
self.selenium.find_element_by_css_selector(selector)
except NoSuchElementException:
return False
return True
def text_exists(self, text, xpath="//body"):
try:
element = self.selenium.find_element_by_xpath(xpath)
except NoSuchElementException:
return False
if text in element.text:
return True
else:
return False
def login(self, username, password):
# Go to the login page and try logging in with the provided credentials
self.selenium.get('%s' % self.live_server_url)
self.selenium.find_element_by_link_text('Log in').click()
username_input = self.selenium.find_element_by_name('username')
username_input.send_keys(username)
password_input = self.selenium.find_element_by_name('password')
password_input.send_keys(password)
self.selenium.find_element_by_class_name('submit').click()
def create_items_and_requests(self, x):
# Creates x number of items and requests
for i in xrange(x):
self.item = G(Item)
self.request = G(Request, item=self.item)
def create_generic_item(self):
# Quick helper in the absence of fixtures
item = G(Item, local_num=9999, part_class='parts class',
location='cart 8', description='test item', cfi='never',
company='A Business', part_num='X9X9', serial_num='8A',
asset_num='sample_num', notes='Testing')
return item
示例13: PollsTest
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class PollsTest(LiveServerTestCase):
def setUp(self):
user = User()
user.username = "admin"
user.email = "[email protected]"
user.set_password("adm1n")
user.is_active = True
user.is_superuser = True
user.is_staff = True
user.save()
self.browser = WebDriver()
self.browser.implicitly_wait(3)
def tearDown(self):
self.browser.quit()
def test_can_create_new_poll_via_admin_site(self):
# Gertrude opens her web browser, and goes to the admin page
self.browser.get(self.live_server_url + '/admin/')
# She sees the familiar 'Django administration' heading
body = self.browser.find_element_by_tag_name('body')
self.assertIn('Django administration', \
body.find_element_by_id("header").text)
# She types in her username and passwords and hits return
username_field = self.browser.find_element_by_name('username')
username_field.send_keys('admin')
password_field = self.browser.find_element_by_name('password')
password_field.send_keys('adm1n')
password_field.send_keys(Keys.RETURN)
# her username and password are accepted, and she is taken to
# the Site Administration page
body = self.browser.find_element_by_tag_name('body')
self.assertIn('Site administration', body.text)
# She now sees a couple of hyperlink that says "Polls"
polls_links = self.browser.find_elements_by_link_text('Polls')
self.assertEquals(len(polls_links), 2)
# The second one looks more exciting, so she clicks it
polls_links[1].click()
# She is taken to the polls listing page, which shows she has
# no polls yet
body = self.browser.find_element_by_tag_name('body')
self.assertIn('0 polls', body.text)
# She sees a link to 'add' a new poll, so she clicks it
new_poll_link = self.browser.find_element_by_link_text('Add poll')
new_poll_link.click()
# She sees some input fields for "Question" and "Date published"
body = self.browser.find_element_by_tag_name('body')
self.assertIn('Question:', body.text)
self.assertIn('Date published:', body.text)
# She types in an interesting question for the Poll
question_field = self.browser.find_element_by_name('question')
question_field.send_keys("How awesome is Test-Driven Development?")
# She sets the date and time of publication - it'll be a new year's
# poll!
date_field = self.browser.find_element_by_name('pub_date_0')
date_field.send_keys('01/01/12')
time_field = self.browser.find_element_by_name('pub_date_1')
time_field.send_keys('00:00')
# Gertrude clicks the save button
save_button = self.browser.find_element_by_css_selector("input[value='Save']")
save_button.click()
# She is returned to the "Polls" listing, where she can see her
# new poll, listed as a clickable link
new_poll_links = self.browser.find_elements_by_link_text(
"How awesome is Test-Driven Development?"
)
self.assertEquals(len(new_poll_links), 1)
示例14: EntrySeleleniumTests
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class EntrySeleleniumTests(StaticLiveServerTestCase):
"""Selenium tests for the entry form"""
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if not settings.DEBUG:
settings.DEBUG = True
def setUp(self):
"""Handles login and things"""
call_command('flush', interactive=False, verbosity=0) # Clears db
call_command('loaddata', 'groups', commit=False, verbosity=0)
call_command('loaddata', 'school', commit=False, verbosity=0)
call_command('loaddata', 'permissions', commit=False, verbosity=0)
call_command('loaddata', 'auth_users', commit=False, verbosity=0)
call_command('loaddata', 'student', commit=False, verbosity=0)
call_command('loaddata', 'advisor', commit=False, verbosity=0)
call_command('loaddata', 'coordinator', commit=False, verbosity=0)
call_command('loaddata', 'activityoptions', commit=False, verbosity=0)
call_command('loaddata', 'learningobjectiveoptions', commit=False, verbosity=0)
call_command('loaddata', 'sample_entries', commit=False, verbosity=0)
self.selenium = WebDriver()
self.selenium.set_window_size(1024, 800)
self.selenium.get('{0}/{1}'.format(self.live_server_url, ''))
self.selenium.find_element_by_xpath('//*[@id="djHideToolBarButton"]').click()
self.selenium.implicitly_wait(10)
self.selenium.find_element_by_link_text('Login').click()
# Click on the student button in the gateway
self.selenium.find_element_by_xpath('/html/body/center/md-content/div/div/div[1]/a').click()
self.selenium\
.find_element_by_xpath("//img[@src='/static/journal/activities/img"
"/journal_sign.png']")
super()
def tearDown(self):
self.selenium.quit()
super()
def test_text_entry(self):
"""Test to ensure that a student can add a text entry"""
# Click on the first activity box: Walking around the block
self.selenium.find_element_by_xpath('/html/body/div[1]/div[2]/div/div[1]/div/div[3]/a/div').click()
self.selenium.find_element_by_link_text('Add an entry').click()
# The following has 2 matching: Just walking and Adding entry...block
header_text = self.selenium.find_elements_by_tag_name('h3')[1].text
self.assertTrue('Adding entry for Walking around the block!' in header_text)
# Switching to iframe focus
self.selenium.switch_to_frame(self.selenium.find_element_by_id('id_entry_iframe'))
# Insert text
entry = 'I think I will bring my cat out next time.'
self.selenium.find_element_by_class_name('note-editable')\
.send_keys(entry)
# Switch back out of the iframe.
self.selenium.switch_to_default_content()
# Click on the submit button
self.selenium.find_element_by_class_name('btn-success').click()
# Ensure that we are back on the entries page.
self.selenium.find_element_by_link_text('Add an entry')
# Ensure that entry exists as the first box on the page.
box_text = self.selenium.find_element_by_xpath('/html/body/div[1]/div[2]/div[2]/div[1]/a/div').text
self.assertTrue(entry in box_text)
def test_image_entry(self):
"""Test to ensure that a student can add an image entry"""
# Click on the first activity box: Walking around the block
self.selenium.find_element_by_xpath('/html/body/div[1]/div[2]/div/div[1]/div/div[3]/a/div').click()
self.selenium.find_element_by_link_text('Add an entry').click()
# The following has 2 matching: Just walking and Adding entry...block
header_text = self.selenium.find_elements_by_tag_name('h3')[1].text
self.assertTrue('Adding entry for Walking around the block!' in header_text)
# Switching to iframe focus
self.selenium.switch_to_frame(self.selenium.find_element_by_id('id_entry_iframe'))
self.selenium.find_element_by_xpath('/html/body/div[2]/div[5]/div[3]/button[2]').click()
entry = 'http://images.jfdaily.com/jiefang/wenyu/new/201409/W020140919421426345484.jpg'
self.selenium.find_element_by_xpath('/html/body/div[2]/div[2]/div[1]/div/div/div[2]/div[2]/input')\
.send_keys(entry)
# click on the inset image button
self.selenium.find_element_by_xpath('/html/body/div[2]/div[2]/div[1]/div/div/div[3]/button').click()
# Switch back out of the iframe.
self.selenium.switch_to_default_content()
# Click on the submit button
self.selenium.implicitly_wait(10)
self.selenium.find_element_by_class_name('btn-success').click()
# Ensure that we are back on the entries page.
self.selenium.find_element_by_link_text('Add an entry')
# Ensure that entry exists on the page.
self.selenium.find_element_by_xpath("//img[@src='http://images.jfdaily.com/jiefang/wenyu/new/201409/W020140919421426345484.jpg']")
def test_video_entry(self):
"""Test to ensure that a student can add a video entry"""
# Click on the first activity box: Walking around the block
self.selenium.find_element_by_xpath('/html/body/div[1]/div[2]/div/div[1]/div/div[3]/a/div').click()
self.selenium.find_element_by_link_text('Add an entry').click()
# The following has 2 matching: Just walking and Adding entry...block
header_text = self.selenium.find_elements_by_tag_name('h3')[1].text
self.assertTrue('Adding entry for Walking around the block!' in header_text)
# Switching to iframe focus
self.selenium.switch_to_frame(self.selenium.find_element_by_id('id_entry_iframe'))
# Insert video
self.selenium.find_element_by_xpath('/html/body/div[2]/div[5]/div[3]/button[3]').click()
#.........这里部分代码省略.........
示例15: TopicOrderingTest
# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_link_text [as 别名]
class TopicOrderingTest(LiveServerTestCase):
def setUp(self):
self.browser = WebDriver()
self.browser.implicitly_wait(3)
self.n1 = Node.objects.create(
title='TestNodeOne',
description='The first test node'
)
self.u1 = User.objects.create_user(
username='test1', email='[email protected]', password='111'
)
# Create 99 topics
for i in range(1, 100):
setattr(
self,
't%s' % i,
Topic.objects.create(
title='Test Topic %s' % i,
user=self.u1,
content_raw='This is test topic __%s__' % i,
node=self.n1
)
)
def tearDown(self):
self.browser.quit()
def test_default_ordering_without_settings(self):
self.browser.get(self.live_server_url+reverse("niji:index"))
first_topic_title = self.browser.find_element_by_class_name(
"entry-link"
).text
self.assertEqual(first_topic_title, self.t99.title)
Post.objects.create(
topic=self.t1,
content_raw='reply to post __1__',
user=self.u1,
)
self.browser.get(self.browser.current_url)
first_topic_title = self.browser.find_element_by_class_name(
"entry-link"
).text
self.assertEqual(first_topic_title, self.t1.title)
@override_settings(NIJI_DEFAULT_TOPIC_ORDERING="-pub_date")
def test_default_ordering_with_settings(self):
self.browser.get(self.live_server_url+reverse("niji:index"))
first_topic_title = self.browser.find_element_by_class_name(
"entry-link"
).text
self.assertEqual(first_topic_title, self.t99.title)
Post.objects.create(
topic=self.t1,
content_raw='reply to post __1__',
user=self.u1,
)
self.browser.get(self.browser.current_url)
first_topic_title = self.browser.find_element_by_class_name(
"entry-link"
).text
self.assertEqual(first_topic_title, self.t99.title)
def test_user_specified_ordering_last_replied(self):
self.browser.get(self.live_server_url+reverse("niji:index"))
self.browser.find_element_by_link_text(
"Last Replied"
).click()
first_topic_title = self.browser.find_element_by_class_name(
"entry-link"
).text
self.assertEqual(first_topic_title, self.t99.title)
def test_user_specified_ordering_pub_date(self):
Post.objects.create(
topic=self.t1,
content_raw='reply to post __1__',
user=self.u1,
)
self.browser.get(self.live_server_url+reverse("niji:index"))
self.browser.find_element_by_link_text(
"Topic Date"
).click()
first_topic_title = self.browser.find_element_by_class_name(
"entry-link"
).text
self.assertEqual(first_topic_title, self.t99.title)
def test_user_specified_ordering_last_replied_pagination(self):
self.browser.get(self.live_server_url+reverse("niji:index"))
self.browser.find_element_by_link_text(
"Last Replied"
).click()
res = self.client.get(self.browser.current_url)
request = res.wsgi_request
self.assertEqual(request.GET.get("order"), "-last_replied")
self.browser.find_element_by_link_text("»").click()
res = self.client.get(self.browser.current_url)
request = res.wsgi_request
self.assertEqual(request.GET.get("order"), "-last_replied")
#.........这里部分代码省略.........