我想建立一个我喜欢的食谱数据库,但我在设计它时遇到了麻烦.我想要至少有两个表:
将两个表关联在一起的方法是什么?我是否需要第三张表来存储从配方到多种成分的几种关系?
正如你可能会说的那样,我对这些东西比较新,只是想在第一次尝试时找出正确的方法.
谢谢!
我刚刚安装了Selenium 2 pip install selenium并且只是复制了一些示例测试以确保它正常工作:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)
assert "Google" in driver.title
driver.close()
Run Code Online (Sandbox Code Playgroud)
我将其保存test.py在Mac上我的Home文件夹中的子文件夹中,但是当我运行时python test.py,我得到以下输出:
Traceback (most recent call last):
File "demo.py", line 1, in <module>
from selenium import webdriver
ImportError: cannot import name webdriver
Run Code Online (Sandbox Code Playgroud)
如果我将该文件移动到我的主目录,它可以工作.如果你不知道,我只是开始使用Selenium和编程.任何有关这方面的帮助将非常感激.
我希望能够将一个值从fixture返回到多个测试/测试类,但传递的值是一个函数.
这是我的代码:
import pytest
@pytest.fixture()
def user_setup():
user = {
'name': 'chad',
'id': 1
}
return user
@pytest.mark.usefixtures('user_setup')
class TestThings:
def test_user(self):
assert user_setup['name'] == 'chad'
Run Code Online (Sandbox Code Playgroud)
输出是:
=================================== FAILURES ===================================
_____________________________ TestThings.test_user _____________________________
self = <tests.test_again.TestThings instance at 0x10aed6998>
def test_user(self):
> assert user_setup['name'] == 'chad'
E TypeError: 'function' object has no attribute '__getitem__'
tests/test_again.py:14: TypeError
=========================== 1 failed in 0.02 seconds ===========================
Run Code Online (Sandbox Code Playgroud)
但是,如果我重写我的测试,以便它不使用usefixtures装饰器,它按预期工作:
def test_user(user_setup):
assert user_setup['name'] == 'chad'
Run Code Online (Sandbox Code Playgroud)
当我尝试使用装饰器方法时,为什么它不起作用的任何想法?