@pytest.mark.parametrize("group_name,tag_name,need_group_id",[
# 删除有效的单个标签
["gruop_delete_demo1",[{"name": "tag_delete_demo1"}],False],
# 删除有效的多个标签
["gruop_delete_demo2",[{"name": "tag_delete_demo2","name": "tag_delete_demo3"}],False],
["gruop_delete_demo3", [{"name": "tag_delete_demo44"}],True],
])
def test_delete_tag(self,group_name,tag_name,need_group_id):
#先去创建一个标签
#group_name="group_demo_0202232"
#self.tag.add_tag(group_name,[{"name": "tag_name02027776"},{"name": "tag_name0202777"},{"name": "tag_name02027"}])
self.tag.add_tag(group_name,tag_name)
r=self.tag.list()
#取[group_name],取tag
group=[group for group in r.json()["tag_group"] if group["group_name"]== group_name][0]
#拿到所有group_id
#group=[group["group_id"] for group in r.json()["tag_group"] if group["group_name"]== group_name][0]
#tag=[tag for tag in group["tag"]]
#拿到所有的tag_id
tag=[tag["id"] for tag in group["tag"]]
#删除单个标签
#解决"errmsg": "Warning: wrong json format. invalid tagid, hint:
#如果是
if need_group_id :
group_id = group["group_id"]
tag=None
else:
group_id=None
self.tag.delete(group_id,tag)
print("***********************")
r=self.tag.list()
groups = [group for group in r.json()["tag_group"] if group["group_name"] == group_name]
assert groups==[]
整个代码中:参数化中的need_group_id和下列代码
if need_group_id :
group_id = group["group_id"]
tag=None
else:
group_id=None
self.tag.delete(group_id,tag)
当need_group_id为false的时候,groupid=none,tag=正常取所有值,企业微信页面有个逻辑就是tag,删除时,不能全部删除,这个是属于走的前端控制,跟后端没有关系么?
因为这个参数[“gruop_delete_demo2”,[{“name”: “tag_delete_demo2”,“name”: “tag_delete_demo3”}],False],这样的标签理论是删除不了了,看下图,将所有标签删除后,点击确定
,但是程序就删除了