当前位置:首页 » 编程软件 » 装饰脚本

装饰脚本

发布时间: 2023-07-10 07:38:52

1. 我们公司是做室内设计的,想开个抖音号分享一下装修经验,是不是需要写脚本

其实主要是看你视频的呈现形式了,做视频的话肯定需要写脚本,还有画面设计这都是需要筹划的,这种就可以咨询一下那些做视频的专业人士,之前合作的武汉七境堂抖音号做的就挺好的,你可以先去他们官网看看案例,然后有空的时候去公司沟通一下。

2. 装饰公司电话销售精选技巧和话术

电话销售是很多行业的一个主流,如保险、装饰、甚至金融等。下面是我为大家收集关于装饰公司电话销售技巧和话术,欢迎借鉴参考。

首先来说,装修公司的电话销售与其它行业有什么不同,像保险,金融等行业,在电话销售往往显得很专业,有固定的话语话术,给人一种相当专业的感觉。但是装修行业就不一样,装修行业的电话营销不能叫打名单,而叫扫名单,为什么?装修行业的一份电话名单,往往是很多公司都在打,一个楼盘比较有500户业主,入住率算高点,80%,那就有400户要装修的业主,这400户中,可能有200户都已经定了其它装修公司了,那么还剩200户,这200户中,可能有100户并不会马上装修,有可能是在几个月甚至半年后,一年后再装修,所以他们暂时不会考虑装修这件事。那么只剩下100户了,这100户中可能有50户在你电话过去的时候正在忙,所以并不会听你说很久,剩下50户中还有可能有40户最近在看装修,但已经被装修公司打电话打烦了,所以暂时也只考虑在看的那几家。所以最后只有10户。有可能正在找装修,且在你打电话过去时也不忙。所以为什么叫扫名单,是因为装修公司的打电话,就是打给有需求的人,通常100个名单里,平均说来,真正有需求的人可能就两三个,运气差的时候打几百电话,可能没有一个。

明白了这个,在做装修公司电话销售的时候,就应该摆正心态。心态好了,还需要一些技巧:

1、通常在与业主接通电话时,需要在20秒内,将你要表达的内容说完,像公司、活动,你是谁,都要在20秒内说完。

2、在说话的时候,语速要快,且吐辞清楚。

3、强大的心理素质。电话销售就是一个被拒绝的过程。且装修行业更奇葩,因为在业主交房前后,很多业主一天是接到几十个装修公司的电话,心里早已经不耐烦了,甚至是怒火冲天,极有可能销售人员被业主辱骂,所以必须要有强大的心理素质。

总而言之:装饰行业的电话销售的确是件非常具有挑战性的工作,但做得好的每月上万的收入都不问题,家装行业在近几年发展迅速,利润很大,适合想挣大钱的销售人员参与。

装饰公司电话销售技巧和话术

首先,就是电话名录的价值。具体说来,要选用最新版的名录。就必须要用今年的名录。使用去年的或者更久以前的名录是没有效率的。使用旧名录打电话,可能更多听到的是“某人已经卸任了”“总经理去年过世了”“您拨的号码错误”之类的回复。接下来,要把有产品购买需求的客户整理到名录里。 如果要卖的产品会像企业保险那样对税务决算(节税)起作用,或者对盈利企业的成本控制起作用的话,还要将相关的目标企业也放进名录里。这次我们使用的名录是从事甄选、销售企业名录的大型名录公司提供的数据,看了以后,确定M先生的名录完美无缺。如果想快速的集合到有价值的客户名录迅速开展电话销售工作,可以考虑从一些大型名录公司手上购买数据。

第二点,构想完美的电话销售台词后再开始打电话。社会上很多人都讨厌跟别人预约或者打电话销售。还有人说害怕打电话。但是我已经不害怕了,因为我发现了使打电话不再恐怖的唯一方法。那就是预先构想完美的电话台词,然后边照着念边打电话。为什么人们都讨厌打电话、害怕打电话呢?原因只有一个,那就是突然听到未知的事情,难于快速反应,就会紧张和不安。所以,“自己如何引出话题”“被别人反问时如何回答,如何变被动为主动”像这样先把预想到的问答题写成谈话手册,再打电话,这可是非常重要的写不出来的东西也说不出来,人类原本就是这样的。而且只要能说出来就能写出来。所以,打电话之前,必须要把自己要说的写在纸上,好好整理,这个过程不可或缺。接下来,把写在纸上的东西用心的诵读练习,才可能取得约见的成功。这是不可或缺电话销售技巧。所以建议您:“这次也先写下一个简单的电话台词,然后再通过打电话找出不足、慢慢地完善它。”所谓完善“电话台词”就是先要制作一个基础性的脚本,在这个脚本上不断改善,逐渐把它演变成高质量的东西。为了达到、句句完美的效果,有些电话销售大人花两个月时间修改15次台词,都是极平常的事。

第三步使命感。“当我们有了销售客户名录和电话销售台词,其实就可以立即打电话了。可是我们介绍的产品是什么样的产品呢?有多优质呢?怎样给对方带来好处呢?”“如果不清楚这些,不能为自己的产品‘陶醉’其中,说话就没有底气哦,语言就没有魅力了。所以,你首先要十分熟悉自己的公司产品,并且用自己的语言给组织起来,构想完美台词。

学习这些产品知识,在您解释给客户的时候,客户不一定能懂得。但更重要的目的是为了你在打电话时心里想着“这产品太棒了…‘一定能满足客户的要求”。只有带着这样的心理打电话才能精神饱满、狂热积极地向客户灌输你的想法,从而成功

获得约见机会。

3. Python - pytest

目录

pytest是Python的单元测试框架,同自带的unittest框架类似,但pytest框架使用起来更简洁,效率更高。

pytest特点

安装

测试

在测试之前要做的准备

我的演示脚本处于这样一个的目录中:

踩坑:你创建的pytest脚本名称中不允许含有 . ,比如 1.简单上手.py ,这样会报错。当然,可以这么写 1-简单上手.py

demo1.py :

上例中,当我们在执行(就像Python解释器执行普通的Python脚本一样)测试用例的时候, pytest.main(["-s", "demo1.py"]) 中的传参需要是一个元组或者列表(我的pytest是5.2.2版本),之前的版本可能需要这么调用 pytest.main("-s demo1.py") ,传的参数是str的形式,至于你使用哪种,取决于报不报错:

遇到上述报错,就是参数需要一个列表或者元组的形式,而我们使用的是str形式。

上述代码正确的执行结果是这样的:

大致的信息就是告诉我们:

pytest.main(["-s", "demo1.py"])参数说明

除了上述的函数这种写法,也可以有用例类的写法:

用法跟unittest差不多,类名要以 Test 开头,并且其中的用例方法也要以 test 开头,然后执行也一样。

执行结果:

那么,你这个时候可能会问,我记得unittest中有setup和teardown的方法,难道pytest中没有嘛?你怎么提都不提?稳住,答案是有的。

接下来,我们来研究一下pytest中的setup和teardown的用法。

我们知道,在unittest中,setup和teardown可以在每个用例前后执行,也可以在所有的用例集执行前后执行。那么在pytest中,有以下几种情况:

来一一看看各自的用法。

模块级别setup_mole/teardown_mole

执行结果:

类级别的setup_class/teardown_class

执行结果:

类中方法级别的setup_method/teardown_method

执行结果:

函数级别的setup_function/teardown_function

执行结果:

小结

该脚本有多种运行方式,如果处于PyCharm环境,可以使用右键或者点击运行按钮运行,也就是在pytest中的主函数中运行:

也可以在命令行中运行:

这种方式,跟使用Python解释器执行Python脚本没有什么两样。也可以如下面这么执行:

当然,还有一种是使用配置文件运行,来看看怎么用。

在项目的根目录下,我们可以建立一个 pytest.ini 文件,在这个文件中,我们可以实现相关的配置:

那这个配置文件中的各项都是什么意思呢?

首先, pytest.ini 文件必须位于项目的根目录,而且也必须叫做 pytest.ini 。

其他的参数:

OK,来个示例。

首先,(详细目录参考开头的目录结构)在 scripts/test_case_01.py 中:

在 scripts/test_case_dir1/test_case02.py 中:

那么,在不同的目录或者文件中,共有5个用例将被执行,而结果则是两个失败三个成功。来执行验证一下,因为有了配置文件,我们在终端中(前提是在项目的根目录),直接输入 pytest 即可。

由执行结果可以发现, 2 failed, 3 passed ,跟我们的预期一致。

后续执行相关配置都来自配置文件,如果更改,会有相应说明,终端都是直接使用 pytest 执行。

我们知道在unittest中,跳过用例可以用 skip ,那么这同样是适用于pytest。

来看怎么使用:

跳过用例,我们使用 @pytest.mark.skipif(condition, reason) :

然后将它装饰在需要被跳过用例的的函数上面。

效果如下:

上例执行结果相对详细,因为我们在配置文件中为 addopts 增加了 -v ,之前的示例结果中,没有加!
另外,此时,在输出的控制台中, 还无法打印出 reason 信息,如果需要打印,则可以在配置文件中的 addopts 参数的 -s 变为 -rs :

如果我们事先知道测试函数会执行失败,但又不想直接跳过,而是希望显示的提示。

Pytest 使用 pytest.mark.xfail 实现预见错误功能::

需要掌握的必传参数的是:

那么关于预期失败的几种情况需要了解一下:

结果如下:

pytest 使用 x 表示预见的失败(XFAIL)。

如果预见的是失败,但实际运行测试却成功通过,pytest 使用 X 进行标记(XPASS)。

而在预期失败的两种情况中,我们不希望出现预期失败,结果却执行成功了的情况出现,因为跟我们想的不一样嘛,我预期这条用例失败,那这条用例就应该执行失败才对,你虽然执行成功了,但跟我想的不一样,你照样是失败的!

所以,我们需要将预期失败,结果却执行成功了的用例标记为执行失败,可以在 pytest.ini 文件中,加入:

这样就就把上述的情况标记为执行失败了。

pytest身为强大的单元测试框架,那么同样支持DDT数据驱动测试的概念。也就是当对一个测试函数进行测试时,通常会给函数传递多组参数。比如测试账号登陆,我们需要模拟各种千奇百怪的账号密码。

当然,我们可以把这些参数写在测试函数内部进行遍历。不过虽然参数众多,但仍然是一个测试,当某组参数导致断言失败,测试也就终止了。

通过异常捕获,我们可以保证程所有参数完整执行,但要分析测试结果就需要做不少额外的工作。

在 pytest 中,我们有更好的解决方法,就是参数化测试,即每组参数都独立执行一次测试。使用的工具就是 pytest.mark.parametrize(argnames, argvalues) 。

使用就是以装饰器的形式使用。

只有一个参数的测试用例

来看(重要部分)结果::

可以看到,列表内的每个手机号,都是一条测试用例。

多个参数的测试用例

(重要部分)结果:

可以看到,每一个手机号与每一个验证码都组合一起执行了,这样就执行了4次。那么如果有很多个组合的话,用例数将会更多。我们希望手机号与验证码一一对应组合,也就是只执行两次,怎么搞呢?

在多参数情况下,多个参数名是以 , 分割的字符串。参数值是列表嵌套的形式组成的。

固件(Fixture)是一些函数,pytest 会在执行测试函数之前(或之后)加载运行它们,也称测试夹具。

我们可以利用固件做任何事情,其中最常见的可能就是数据库的初始连接和最后关闭操作。

Pytest 使用 pytest.fixture() 定义固件,下面是最简单的固件,访问主页前必须先登录:

结果:

在之前的示例中,你可能会觉得,这跟之前的setup和teardown的功能也类似呀,但是,fixture相对于setup和teardown来说更灵活。pytest通过 scope 参数来控制固件的使用范围,也就是作用域。

比如之前的login固件,可以指定它的作用域:

很多时候需要在测试前进行预处理(如新建数据库连接),并在测试完成进行清理(关闭数据库连接)。

当有大量重复的这类操作,最佳实践是使用固件来自动化所有预处理和后处理。

Pytest 使用 yield 关键词将固件分为两部分, yield 之前的代码属于预处理,会在测试前执行; yield 之后的代码属于后处理,将在测试完成后执行。

以下测试模拟数据库查询,使用固件来模拟数据库的连接关闭:

结果:

可以看到在两个测试用例执行前后都有预处理和后处理。

pytest中还有非常多的插件供我们使用,我们来介绍几个常用的。

先来看一个重要的,那就是生成测试用例报告。

想要生成测试报告,首先要有下载,才能使用。

下载

如果下载失败,可以使用PyCharm下载,怎么用PyCharm下载这里无需多言了吧。

使用

在配置文件中,添加参数:

效果很不错吧!

没完,看我大招

Allure框架是一个灵活的轻量级多语言测试报告工具,它不仅以web的方式展示了简洁的测试结果,而且允许参与开发过程的每个人从日常执行的测试中最大限度的提取有用信息。
从开发人员(dev,developer)和质量保证人员(QA,Quality Assurance)的角度来看,Allure报告简化了常见缺陷的统计:失败的测试可以分为bug和被中断的测试,还可以配置日志、步骤、fixture、附件、计时、执行 历史 以及与TMS和BUG管理系统集成,所以,通过以上配置,所有负责的开发人员和测试人员可以尽可能的掌握测试信息。
从管理者的角度来看,Allure提供了一个清晰的“大图”,其中包括已覆盖的特性、缺陷聚集的位置、执行时间轴的外观以及许多其他方便的事情。allure的模块化和可扩展性保证了我们总是能够对某些东西进行微调。

少扯点,来看看怎么使用。

Python的pytest中allure下载

但由于这个 allure-pytest 插件生成的测试报告不是 html 类型的,我们还需要使用allure工具再“加工”一下。所以说,我们还需要下载这个allure工具。

allure工具下载

在现在allure工具之前,它依赖Java环境,我们还需要先配置Java环境。

注意,如果你的电脑已经有了Java环境,就无需重新配置了。

配置完了Java环境,我们再来下载allure工具,我这里直接给出了网络云盘链接,你也可以去其他链接中自行下载:

下载并解压好了allure工具包之后,还需要将allure包内的 bin 目录添加到系统的环境变量中。

完事后打开你的终端测试:

返回了版本号说明安装成功。

使用

一般使用allure要经历几个步骤:

来看配置 pytest.ini :

就是 --alluredir ./report/result 参数。

在终端中输入 pytest 正常执行测试用例即可:

执行完毕后,在项目的根目下,会自动生成一个 report 目录,这个目录下有:

接下来需要使用allure工具来生成HTML报告。

此时我们在终端(如果是windows平台,就是cmd),路径是项目的根目录,执行下面的命令。

PS:我在pycharm中的terminal输入allure提示'allure' 不是内部或外部命令,也不是可运行的程序或批处理文件。但windows的终端没有问题。

命令的意思是,根据 reportresult 目录中的数据(这些数据是运行pytest后产生的)。在 report 目录下新建一个 allure_html 目录,而这个目录内有 index.html 才是最终的allure版本的HTML报告;如果你是重复执行的话,使用 --clean 清除之前的报告。

结果很漂亮:

allure open
默认的,allure报告需要HTTP服务器来打开,一般我们可以通过pycharm来完成,另外一种情况就是通过allure自带的open命令来完成。

allure的其他用法
当然,故事还是没有完!在使用allure生成报告的时候,在编写用例阶段,还可以有一些参数可以使用:

allure.title与allure.description

feature和story

由上图可以看到,不同的用例被分为不同的功能中。

allure.severity

allure.severity 用来标识测试用例或者测试类的级别,分为blocker,critical,normal,minor,trivial5个级别。

severity的默认级别是normal,所以上面的用例5可以不添加装饰器了。

allure.dynamic

在之前,用例的执行顺序是从上到下依次执行:

正如上例的执行顺序是 3 1 2 。

现在,来看看我们如何手动控制多个用例的执行顺序,这里也依赖一个插件。

下载

使用

手动控制用例执行顺序的方法是在给各用例添加一个装饰器:

那么, 现在的执行顺序是 2 1 3 ,按照order指定的排序执行的。

如果有人较劲传个0或者负数啥的,那么它们的排序关系应该是这样的:

失败重试意思是指定某个用例执行失败可以重新运行。

下载

使用

需要在 pytest.ini 文件中, 配置:

给 addopts 字段新增(其他原有保持不变) --reruns=3 字段,这样如果有用例执行失败,则再次执行,尝试3次。

来看示例:

结果:

我们也可以从用例报告中看出重试的结果:

上面演示了用例失败了,然后重新执行多少次都没有成功,这是一种情况。

接下来,来看另一种情况,那就是用例执行失败,重新执行次数内通过了,那么剩余的重新执行的次数将不再执行。

通过 random 模块帮助我们演示出在某次执行中出现失败的情况,而在重新执行的时候,会出现成功的情况,看结果:

可以看到,用例 02 重新执行了一次就成功了,剩余的两次执行就终止了。

一条一条用例的执行,肯定会很慢,来看如何并发的执行测试用例,当然这需要相应的插件。

下载

使用

在配置文件中添加:

就是这个 -n=auto :

并发的配置可以写在配置文件中,然后其他正常的执行用例脚本即可。另外一种就是在终端中指定,先来看示例:

结果:

pytest-sugar 改变了 pytest 的默认外观,添加了一个进度条,并立即显示失败的测试。它不需要配置,只需 下载插件即可,用 pytest 运行测试,来享受更漂亮、更有用的输出。

下载

其他照旧执行用例即可。

pytest-cov 在 pytest 中增加了覆盖率支持,来显示哪些代码行已经测试过,哪些还没有。它还将包括项目的测试覆盖率。

下载

使用

在配置文件中:

也就是配置 --cov=./scripts ,这样,它就会统计所有 scripts 目录下所有符合规则的脚本的测试覆盖率。

执行的话,就照常执行就行。

结果:

更多插件参考:https://zhuanlan.hu.com/p/50317866

有的时候,在 pytest.ini 中配置了 pytest-html 和 allure 插件之后,执行后报错:

出现了这个报错,检查你配置的解释器中是否存在 pytest-html 和 allure-pytest 这两个模块。如果是使用的pycharm ide,那么你除了检查settings中的解释器配置之外,还需要保证运行脚本的编辑器配置是否跟settings中配置一致。

4. 怎样在魔兽地图中注入自定义的脚本

地形编辑器

地形编辑器是地图编辑器的主要模块。在这里用户可以设计和编辑地形放置单位和装饰物。

地形面板
要想修改地形,首先使用"T"键或者"窗口"菜单中选择新建地形面板,打开地形面板。一旦地形面板被打开,则可以使用四个工摺?

地形面板上的第一个工具是应用质材。通过点击任何一种场景样式,选择它并放置在您的地图中。甚至您可以在地图上放置荒芜之地和边界质材。边界是一种特殊的地形,任何单位都无法穿越它。它类似于地图边缘的黑色区域。荒芜之地是不死族建筑周围延伸出来的地形。通过随机放置变量(预览中)允许编辑器自动从选择的类型中随机放置地形,而不是固定一种的效果。

第二个工具是放置峭壁选项。这个选项允许用户添加和删除地图上的峭壁、浅水、深水和斜坡。用户不但能够通过画笔增加/减少峭壁区域,而且能够改变已经放置的峭壁。

第三个工具是改变高度选项。这部分包括:

圆形山脉 - 允许用户制造圆形的山脉,按住Shift键,左键点击可以制造出圆形的山谷。
高原 - 允许用户制造圆形山脉和山谷之间的高地。
碎裂工具 - 这个工具可以制造破裂的地面。
光滑工具 - 这个工具可以进行平滑地面。

最后一个选项用来改变画笔的形状和大小。

修改地形
用户可以通过修改地形,修改所选择的地形,甚至是创建新的地形。

在创建自定义地形之前,您必须首先知道地形被归结为一种质材。有些地形在质材页中占用一页,有的则占用更多的页面。用户最多能够设置12页的地形。而且在开始的时候这些质材页都是被占满的。所以在创建新的地形之前,请首先删除足够的地形。但是无论如何您不能够删除标有红框的地形

单位面板

为了在地图上放置单位,您可以通过键盘上的"U"键或者在打开的面板上拖动下拉列表选择单位面板

单位面板的第一个菜单是用来决定单位所有者的:

玩家 X - 这里有玩家的列表,玩家1,玩家2一直到地图允许玩家的最大上限。这个玩家的最大上限可以在玩家属性中调整。
敌对中立单位 - 敌对的中立单位无视你所属的阵营。它是地图上所有玩家的敌人。甚至包括电脑控制的阵营。但是它们之间并不敌对。
友好中立单位 - 这些单位甚至在受到攻击的时候仍然不会反击。有些单位玩家是无法攻击的。
物品 - 这里您可以选择一个物品并直接放置到地图上。但是不能够决定野外生物掉落的物品。如果您想设定掉落的物品,请双击所放置的单位,然后在单位属性中设置。

第二个菜单是种族选项,允许用户选择要防止的单位所在的种族。

热点内容
命令行执行oracle脚本文件命令行 发布:2025-02-07 10:14:49 浏览:95
ibook安卓怎么下 发布:2025-02-07 10:12:13 浏览:692
银行卡没有密码怎么办啊 发布:2025-02-07 10:08:13 浏览:30
游戏库源码 发布:2025-02-07 09:49:15 浏览:53
享宇钱包上传不了照片 发布:2025-02-07 09:48:32 浏览:632
模拟器怎么开安卓版本 发布:2025-02-07 09:42:35 浏览:771
c程序设计语言源码 发布:2025-02-07 09:22:41 浏览:623
数据库域的概念 发布:2025-02-07 09:22:40 浏览:640
电信路由器账号密码多少 发布:2025-02-07 09:22:01 浏览:671
我的世界怎么在别人服务器开光影 发布:2025-02-07 09:21:20 浏览:12