为您的django项目进行超级简单的拆分测试。

django-easy-split的Python项目详细描述


![http://i.imgur.com/vousi65.png](http://i.imgur.com/vousi65.png)
django轻松拆分
======


django轻松拆分测试!

停止猜测,开始测试!使用**django easy split**,您将能够科学地证明
站点的哪些方面比其他方面转换得更好。非常适合测试副本、设计、样式、布局、资产,甚至价格和功能集。

*简单的安装和使用
*使用卡方检验生成统计报告(支持numypy/scipy选项)
*自动排除机器人



只需安装它,定义要测试的内容和目标,
然后坐下来,等待数据进入,最后分析并查看报告。您可以从模板中做几乎所有正确的事情,不需要手动创建数据模型。


安装django easy split

``python
pip安装django easy split
```

>1。在已安装的应用程序设置中添加"Easy_Split",如下所示:

``python
installed_apps=(

'Easy_Split',

```

2。同步数据库:

``python
python manage.py sync db
````

3。在URL中添加**简单拆分**:

``python
url patterns=patterns('',

url(r'^admin/doc/',include('django.contrib.admincods.urls'),
url(r'^admin/split/',include('easy撸split.admin撸urls'),
url(r'^admin/',include(admin.site.urls)),

url(r"^split/",include('easy_u split.url'),
````



将访问者分配到实验组,方法是使用此装饰程序包装您的视图:

``python
来自Easy廑Split.decorators import set廑experiment廑user

@set廑experiment廑user
def landing廑page(request):
return render廑to廑response('split廑me.html',,context_instance=requestcontext(request))
````


5。在基本html中包含必要的bot(不包括javascript)。不需要jquery!:

``html
{%load easy_split%}

<;head>;
{%split_js%}
<;head>;
```


6。定义您的测试内容:

``html

{%split try\u或_buy control%}
<;a href="/payment/"class="btn large btn primary">;
buy now!
<;/a>;
{%endsplit%}

{%split try_或_buy test%}
<;a href="/payment/"class="btn large btn primary">;
免费试用!
<;/a>;
{%endsplit%}
````

>7。设定你的目标。最简单的方法是把这个简单的标签放在你的目标页面上(例如,在付款后页面上)。您还可以在视图中以编程方式定义它们。

``html
{%goal"try廑or廑buy"%}
```

>8。测试一下!确保所有URL都正常工作,并且目标记录正在数据库中创建。

9。最后,随着时间的推移收集到足够的数据后,运行:

``python
python manage.py update_experiment_reports
````

>生成报告,然后浏览到**/admin/split/**查看报告!


如果您正在测试整个功能,而不仅仅是复制或样式更改,则此功能非常有用。

这里有两个重要部分:测试用户和记录结果。

实验用户,

`` python
来自easy_split.models导入实验
来自easy_split.utils导入webuser
来自easy_split.decorators导入set_实验用户

@set_实验用户
def登录页(请求):
如果是实验,则测试("我的实验"名称,webuser(请求):
返回render_to_response('new_landing.html',{},context_instance=requestcontext(请求))
否则:
返回render_to_response('landing.html',{},context_instance=requestcontext(请求))
```

然后,您需要记录事件的记录通过测试:

``python
from easy撸split.models import goalrecord
from easy撸split.utils import webuser


def conversion撸page(request):

_response('success.html',{},context\u instance=requestcontext(request))

````

,就这样!


就目前而言,无论你在寻找什么,最好是逆流而上。此包还包含[Alex
Kehayias的博客文章](http://alex kehayias.tumblr.com/post/15951774761/ab-split-testing-django)中提到的关于此主题的更改。

django easy split打算更新和简化django lean。作为一个对社区有用的产品,这可能会实现,也可能永远不会实现——它可能只是一堆没有文档的代码,只对我自己的目的非常有用。不过,我大部分时间都会在公共场合工作,所以我们会看到的。


\todo

*documentation,packaging,examples,tests
*email reporting?
*自动化的集成测试队列。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
保存一段xml是一个新的xml解析器Java   java如何使用断言测试单链表。assertEquals()   java如何将多个选定图像从Gallery复制到Android中的另一个文件夹   重新触发异常时调用序列中的java差异   swing如何在Java中的GridLayout面板的特定单元格中添加标签?   java在更新引用实体之后,有没有办法更新其他实体中的列?   java如何在两个实体之间使用foreach   java方法add(Component)不适用于参数   Apache Tiles和Spring MVC中的java全局异常页面   java kSoap2发送集合   Java存储对象与直接调用其方法的性能对比?   java如何访问selenium中的nowrap元素   使用endpointsframeworktools生成OpenAPI文档时发生java错误   西/东方向的java JLabel不会显示在BorderLayout中   java ActiveMQ Spring客户端:如何更改处理器池?   java不能取消对void的引用;尝试使用生成器模式   javajavax。websocketclient:如何将大型二进制数据从clientendpoint发送到serverendpoint   运行Java代理时Java代理问题   如何将Web应用程序连接到Java/ABAP应用程序   javajackson处理问题