小编Cas*_*ass的帖子

用于存储食谱的数据库设计

我想建立一个我喜欢的食谱数据库,但我在设计它时遇到了麻烦.我想要至少有两个表:

  1. 食谱表(有描述,成分,方向等......)
  2. 成分表(成分类型,其他属性等...)

将两个表关联在一起的方法是什么?我是否需要第三张表来存储从配方到多种成分的几种关系?

正如你可能会说的那样,我对这些东西比较新,只是想在第一次尝试时找出正确的方法.

谢谢!

database database-design

17
推荐指数
2
解决办法
3万
查看次数

尝试使用Selenium 2与Python绑定,但我收到导入错误

我刚刚安装了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和编程.任何有关这方面的帮助将非常感激.

python webdriver selenium-webdriver

17
推荐指数
3
解决办法
3万
查看次数

pytest fixture总是返回一个函数

我希望能够将一个值从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)

当我尝试使用装饰器方法时,为什么它不起作用的任何想法?

python testing fixtures pytest

7
推荐指数
1
解决办法
4230
查看次数

如果测试因py.test而失败,则执行代码

我正在使用Appiumpy.test在Android上进行UI测试自动化.我希望能够在测试失败后使用adb保存错误报告.

有没有办法判断我的测试代码中的测试是否失败,以便我可以在拆解时运行保存错误报告?

最初,我只是在每次测试后保存错误报告,但每次测试增加45秒会有点过分.

python android adb pytest

3
推荐指数
1
解决办法
821
查看次数