CN104572453B - 利用脚本语言获取商品属性的方法和装置 - Google Patents
利用脚本语言获取商品属性的方法和装置 Download PDFInfo
- Publication number
- CN104572453B CN104572453B CN201410828109.4A CN201410828109A CN104572453B CN 104572453 B CN104572453 B CN 104572453B CN 201410828109 A CN201410828109 A CN 201410828109A CN 104572453 B CN104572453 B CN 104572453B
- Authority
- CN
- China
- Prior art keywords
- shell script
- commodity
- module
- item property
- consumer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种利用脚本语言获取商品属性的方法和装置。所述方法包括:后台总控模块从前端交互模块获取用户输入的商品ID和用户编辑的脚本程序;所述后台总控模块向电子商务企业的数据接口模块请求与该商品ID相关的所有商品属性;所述后台总控模块向加载执行模块发送用户编辑的脚本程序和与该商品ID相关的所有商品属性;所述加载执行模块利用用户编辑的脚本程序从与该商品ID相关的所有商品属性中获取消费者需要的商品属性;所述后台总控模块获取加载执行模块返回的消费者需要的商品属性,并将消费者需要的商品属性返回至所述前端交互模块。通过本发明,提高了电子商务企业在线答复消费者咨询的准确性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种利用脚本语言获取商品属性的方法和装置。
背景技术
近年来,电子商务迅速发展。越来越多的消费者开始利用电子商务企业提供的平台进行网络购物。消费者在浏览电子商务的网页时,对需要的商品的属性非常关心,从而帮助自己对各卖家的商品进行比较,进而做出购买决定。例如,若消费者欲购买笔记本电脑,常关注屏幕尺寸、CPU等商品属性,并且经常就商品属性向电子商务企业进行咨询。
为了答复消费者的咨询,现有的解决方案是利用脚本语言来实现的。但是,利用现有的解决方案答复消费者咨询的商品属性时,向消费者返回的信息常常不准确。例如,消费者咨询了关于CPU的商品属性,向其返回的是关于屏幕尺寸的商品属性,或者在具有该商品属性的情况下向其返回的是“无法找到”的消息。
这是因为在现有的解决方案中,利用脚本语言编写的脚本程序无法得到很好地测试,从而导致无法及时发现脚本程序中存在的问题,所以利用脚本程序获取相关信息时会产生错误。因此,需要设计一种能够更加准确地获取所需商品属性的方法。
发明内容
有鉴于此,本发明提供一种利用脚本语言获取商品属性的方法和装置,以提高电子商务企业在线答复消费者咨询的准确性。
一种利用脚本语言获取商品属性的方法,所述方法包括:
后台总控模块从前端交互模块获取用户输入的商品ID和用户编辑的脚本程序;
所述后台总控模块向电子商务企业的数据接口模块请求与该商品ID相关的所有商品属性;
所述后台总控模块向加载执行模块发送用户编辑的脚本程序和与该商品ID相关的所有商品属性;
所述加载执行模块利用用户编辑的脚本程序从与该商品ID相关的所有商品属性中获取消费者需要的商品属性;
所述后台总控模块获取加载执行模块返回的消费者需要的商品属性,并将消费者需要的商品属性返回至所述前端交互模块。
可选地,所述方法还包括:
所述前端交互模块将接收到的消费者需要的商品属性与该商品属性的正确信息进行比对;
所述前端交互模块判断接收到的消费者需要的商品属性是否正确;
若正确,所述前端交互模块判断消费者需要的商品属性正确的次数是否达到预定值;
若达到预定值,则所述前端交互模块通知所述脚本程序通过测试。
优选地,所述加载执行模块利用用户编辑的脚本程序从与该商品ID相关的所有商品属性中获取消费者需要的商品属性包括:
将Jython引入java中,并在java中定义接口函数;
引用并获取用户编辑的脚本程序;
将获取的脚本程序转化为java可调用代码;
在java中对脚本程序进行调用。
优选地,将获取的脚本程序转化为java可调用代码包括:
获取之前生成的python对象;
将获取的python对象转化为java对象。
优选地,在java中对脚本程序进行调用包括:
将转化为java对象的脚本程序转化为接口类型;
直接调用转化后的函数。
一种利用脚本语言获取商品属性的装置,所述装置包括:
前端交互模块,用于向用户提供对脚本程序进行编辑、调试、及维护的页面;
后台总控模块,用于从所述前端交互模块获取用户输入的商品ID和用户编辑的脚本程序,向电子商务企业的数据接口模块请求与该商品ID相关的所有商品属性,向加载执行模块发送用户编辑的脚本程序和与该商品ID相关的所有商品属性,获取加载执行模块返回的消费者需要的商品属性,并将消费者需要的商品属性返回至所述前端交互模块;
电子商务企业的数据接口模块,用户获取与该商品ID相关的所有商品属性;
加载执行模块,用于利用用户编辑的脚本程序从与该商品ID相关的所有商品属性中获取消费者需要的商品属性。
可选地,所述前端交互模块还用于将接收到的消费者需要的商品属性与该商品属性的正确信息进行比对,判断接收到的消费者需要的商品属性是否正确,正确,判断消费者需要的商品属性正确的次数是否达到预定值,若达到预定值,则通知所述脚本程序通过测试。
优选地,所述加载执行模块包括:
引入单元,用于将Jython引入java中,并在java中定义接口函数;
第一获取单元,用于引用并获取用户编辑的脚本程序;
第一转化单元,用于将获取的脚本程序转化为java可调用代码;
调用单元,用于在java中对脚本程序进行调用。
优选地,所述第一转化单元包括:
第二获取单元,用于获取之前生成的python对象;
执行转化单元,用于将获取的python对象转化为java对象。
优选地,所述调用单元包括:
第二转化单元,用于将转化为java对象的脚本程序转化为接口类型;
执行调用单元,用于直接调用转化后的函数。
可以看出,通过本发明,利用电子商务企业的数据接口模块可以获取正确的商品属性,并且可以对用户编辑的脚本程序进行测试,测试通过后才用于答复消费者的咨询,从而提高了电子商务企业答复消费者咨询的准确性。
附图说明
图1为本发明一个实施例的方法流程图;
图2为本发明另一个实施例的方法流程图;
图3为图2中步骤206的实现方式的一个实施例;
图4为将图2中的相关步骤与具体的模块相结合的架构图;
图5为本发明一个实施例的装置框图。
具体实施方式
在下文中,将根据附图对本发明的示例性实施例进行详细描述。
在对详细的描述进行说明之前,应该理解,用在本说明书以及权利要求中的术语及词语可能不限于普通含义或词典含义,而是在发明人能够使用新词以最佳方式解释本发明的原则下,被解释为适于本发明技术范围的含义或概念。
本发明提供实施例使得公开充分并完全涵盖本领域技术人员。对具体细节例如具体部件、装置进行阐述,以透彻理解本实施例。对本领域技术人员来说,显然,不需要采用具体的细节,实施例可以以许多不同的形式进行具体体现,而且不应该解释为对本发明范围的限制。在一些实施例中,公知装置结构、以及公知技术不再详细描述。
本发明提供的实施例可以包括前端交互模块、后台总控模块、电子商务企业的数据接口模块和脚本程序的加载执行模块。在本发明中,“消费者”指的是在电子商务企业的网站上购物的买家,“用户”不同于“消费者”,“用户”指的是对脚本程序进行编辑、调试并维护的技术人员。本发明提供的实施例可以由用户编辑的脚本程序来获取消费者需要的商品属性,并对获取的消费者需要的商品属性是否正确进行验证,从而对用户编辑的脚本程序进行测试,经过测试能够提供正确信息的脚本程序才能够用来答复消费者的咨询,从而提高了答复消费者咨询的准确性。下面对本发明进行详细说明。
请参考图1,为本发明一个实施例的方法流程图,可以包括以下步骤:
步骤101:后台总控模块从前端交互模块获取用户输入的商品ID和用户编辑的脚本程序;
步骤102:后台总控模块向电子商务企业的数据接口模块请求与该商品ID相关的所有商品属性;
步骤103:后台总控模块向加载执行模块发送用户编辑的脚本程序和与该商品ID相关的所有商品属性;
步骤104:加载执行模块利用用户编辑的脚本程序从与该商品ID相关的所有商品属性中获取消费者需要的商品属性;
步骤105:后台总控模块获取加载执行模块返回的消费者需要的商品属性,并将消费者需要的商品属性返回至前端交互模块。
请参考图2,为本发明另一个实施例的方法流程图,可以包括以下步骤:
步骤201:前端交互模块向用户提供对脚本程序进行编辑、调试、及维护的页面;
步骤202:后台总控模块从前端交互模块获取用户输入的商品ID和用户编辑的脚本程序;
需要指出的是,用户编辑的脚本程序用于获取消费者需要的商品属性。
步骤203:后台总控模块向数据接口模块发送商品ID,同时请求与该商品ID相关的所有商品属性;
步骤204:后台总控模块接收数据接口模块返回的与该商品ID相关的所有商品属性;
步骤205:后台总控模块向加载执行模块发送用户编辑的脚本程序和与该商品ID相关的所有商品属性;
步骤206:加载执行模块利用用户编辑的脚本程序从与该商品ID相关的所有商品属性中获取消费者需要的商品属性;
步骤207:后台总控模块获取加载执行模块返回的消费者需要的商品属性;
步骤208:后台总控模块向前端交互模块返回消费者需要的商品属性。
之后,前端交互模块将接收到的消费者需要的商品属性与该商品属性的正确信息进行比对,判断接收到的消费者需要的商品属性是否正确,若正确,判断消费者需要的商品属性正确的次数是否达到预定值,若是,则说明用户编辑的脚本程序可以通过测试并且可以用于答复消费者的咨询。若将消费者需要的商品属性与该商品属性的正确信息进行比对后发现不正确,则提示用户需要对脚本程序进行修改。
下面对步骤206进行详细说明。
用户利用脚本语言编写的是脚本程序,而步骤206的加载执行步骤是由java实现的,因此为了能够在java中执行脚本程序,本发明采用Jython。Jython能够方便地嵌入java程序中,从而执行脚本程序。具体地,步骤206可以包括以下步骤,如图3所示:
步骤206-1:将Jython引入java中,并在java中定义接口函数;
作为一个具体实例,将Jython引入java中可以由下列代码实现:
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>2.7-b1</version>
</dependency>
脚本程序需要实现java中定义的接口函数,作为一个具体实例,脚本程序实现该接口函数可以由下列代码实现:
public String calcAttribute(PyDictionary attributeList);
其中,attributeList是传入参数,包含了当前咨询的商品的所有商品属性。String是表示返回值的字符串,即脚本程序的执行结果。
脚本程序实现该接口函数后,java中就可以加载该脚本程序,然后直接调用进行相应的操作。java中加载该脚本程序的步骤如步骤206-2和步骤206-3所示。
步骤206-2:引用并获取用户编辑的脚本程序;
作为一个具体实例,可以通过下列代码来实现该步骤:
PythonInterpreter interpreter=new PythonInterpreter();
String exs="from"+modulePath+"import"+moduleName;
interpreter.exec(exs);
pyObject=interpreter.get(moduleName);
其中,PythonInterpreter是之前定义的接口类;exs是一条命令,通过interpreter.exec方式来执行这条命令,命令的功能是引用具体的一个脚本程序;modulePath是存放脚本程序的目录;moduleName是脚本程序的文件名(不含后缀.py);上述为与引用相关的代码解释,引用脚本程序之后,利用interpreter.get来获取脚本程序,进而生成python对象。
步骤206-3:将获取的脚本程序转化为java可调用代码;
该步骤的实现分为两步,第一步是获取之前生成的python对象,第二步是将其转化为java对象。
作为一个具体实例,第一步可以通过下列代码来实现:
PyObject newObj=pyObject._call_();
作为一个具体实例,第二步可以通过下列代码来实现:
Object javaInt=newObj._tojava_(interfacePath,len);
其中,newObj._tojava_()为java对象,interfacePath是接口文件路径,len是接口文件路径长度。
步骤206-4:在java中对脚本程序进行调用。
该步骤可以分为两步,第一步是将转化为java对象的脚本程序强制转化为接口类型,第二步是直接调用转化后的函数。
作为一个具体实例,第一步可以通过下列代码实现:
PyAttributeRuleInterface pyAttrRule=(PyAttributeRuleInterface)javaInt;
作为一个具体实例,第二步可以通过下列代码实现:
pyAttrRule.calcAttribute(attributeList)
请参考图4,为了更加形象地示出本发明的实施例,图3将图2中的相关步骤与具体的模块相结合。
可以看出,通过本发明,利用数据接口模块可以获取正确的商品属性,并且可以对用户编辑的脚本程序进行测试,测试通过后才用于答复消费者的咨询,从而提高了答复消费者咨询的准确性。
请参考图5,为本发明一个实施例的装置框图,可以包括:
前端交互模块501,用于向用户提供对脚本程序进行编辑、调试、及维护的页面;
后台总控模块502,用于从所述前端交互模块501获取用户输入的商品ID和用户编辑的脚本程序,向电子商务企业的数据接口模块503请求与该商品ID相关的所有商品属性,向加载执行模块504发送用户编辑的脚本程序和与该商品ID相关的所有商品属性,获取加载执行模块504返回的消费者需要的商品属性,并将消费者需要的商品属性返回至所述前端交互模块501;
电子商务企业的数据接口模块503,用户获取与该商品ID相关的所有商品属性;
加载执行模块504,用于利用用户编辑的脚本程序从与该商品ID相关的所有商品属性中获取消费者需要的商品属性。
其中,所述前端交互模块501还用于将接收到的消费者需要的商品属性与该商品属性的正确信息进行比对,判断接收到的消费者需要的商品属性是否正确,正确,判断消费者需要的商品属性正确的次数是否达到预定值,若达到预定值,则通知所述脚本程序通过测试。
优选地,所述加载执行模块504包括:
引入单元504-1,用于将Jython引入java中,并在java中定义接口函数;
第一获取单元504-2,用于引用并获取用户编辑的脚本程序;
第一转化单元504-3,用于将获取的脚本程序转化为java可调用代码;
调用单元504-4,用于在java中对脚本程序进行调用。
优选地,所述第一转化单元504-3包括:
第二获取单元504-31,用于获取之前生成的python对象;
执行转化单元504-32,用于将获取的python对象转化为java对象。
优选地,所述调用单元404-4包括:
第二转化单元504-41,用于将转化为java对象的脚本程序转化为接口类型;
执行调用单元504-42,用于直接调用转化后的函数。
可以看出,通过本发明,利用电子商务企业的数据接口模块可以获取正确的商品属性,并且可以对用户编辑的脚本程序进行测试,测试通过后才用于答复消费者的咨询,从而提高了答复消费者咨询的准确性。
此处使用的术语仅是为了描述具体的实施例,意不在限制。如此处使用的,除非上下文清楚指出,术语“包括”是包含的,因此详细说明陈述的特征、整体、步骤、操作、元件、和/或部件,并不排除一个或者多个其它的特征、整体、步骤、操作、元件、部件、和/或其组合的存在或附加。
尽管术语第一、第二可以用来描述各种部件,这些部件不应被这些术语限制。这些术语可以仅用来将一个部件与另一部件区别开来。除非上下文清楚地指出,当使用例如“第一”、“第二”、以及其它数字术语这样的术语时,不暗指序列或者顺序。因此,在不背离实施例的原则的情况下,描述的第一部件可以被称为第二部件。
提供本实施例的描述目的是进行说明,意不在穷尽或者限制本发明。单个部件或者特征不限制在该实施例中,即使没有具体示出或者进行描述,也可以在可应用的选择的实施例中进行互换并使用。还可以按照许多方式进行变化,这些变化并未脱离本发明,并且所有这些改变意在包含在本发明的范围内。
Claims (8)
1.一种利用脚本语言获取商品属性的方法,其特征在于,所述方法包括:
后台总控模块从前端交互模块获取用户输入的商品ID和用户编辑的脚本程序;
所述后台总控模块向电子商务企业的数据接口模块请求与该商品ID相关的所有商品属性;
所述后台总控模块向加载执行模块发送用户编辑的脚本程序和与该商品ID相关的所有商品属性;
所述加载执行模块利用用户编辑的脚本程序从与该商品ID相关的所有商品属性中获取消费者需要的商品属性;
所述后台总控模块获取加载执行模块返回的消费者需要的商品属性,并将消费者需要的商品属性返回至所述前端交互模块;
所述前端交互模块将接收到的消费者需要的商品属性与该商品属性的正确信息进行比对;
所述前端交互模块判断接收到的消费者需要的商品属性是否正确;
若正确,所述前端交互模块判断消费者需要的商品属性正确的次数是否达到预定值;
若达到预定值,则所述前端交互模块通知所述脚本程序通过测试。
2.根据权利要求1所述的方法,其特征在于,所述加载执行模块利用用户编辑的脚本程序从与该商品ID相关的所有商品属性中获取消费者需要的商品属性包括:
将Jython引入java中,并在java中定义接口函数;
引用并获取用户编辑的脚本程序;
将获取的脚本程序转化为java可调用代码;
在java中对脚本程序进行调用。
3.根据权利要求2所述的方法,其特征在于,将获取的脚本程序转化为java可调用代码包括:
获取之前生成的python对象;
将获取的python对象转化为java对象。
4.根据权利要求2所述的方法,其特征在于,在java中对脚本程序进行调用包括:
将转化为java对象的脚本程序转化为接口类型;
直接调用转化后的函数。
5.一种利用脚本语言获取商品属性的装置,其特征在于,所述装置包括:
前端交互模块,用于向用户提供对脚本程序进行编辑、调试、及维护的页面;
后台总控模块,用于从所述前端交互模块获取用户输入的商品ID和用户编辑的脚本程序,向电子商务企业的数据接口模块请求与该商品ID相关的所有商品属性,向加载执行模块发送用户编辑的脚本程序和与该商品ID相关的所有商品属性,获取加载执行模块返回的消费者需要的商品属性,并将消费者需要的商品属性返回至所述前端交互模块;
电子商务企业的数据接口模块,用户获取与该商品ID相关的所有商品属性;
加载执行模块,用于利用用户编辑的脚本程序从与该商品ID相关的所有商品属性中获取消费者需要的商品属性;
所述前端交互模块还用于将接收到的消费者需要的商品属性与该商品属性的正确信息进行比对,判断接收到的消费者需要的商品属性是否正确,正确,判断消费者需要的商品属性正确的次数是否达到预定值,若达到预定值,则通知所述脚本程序通过测试。
6.根据权利要求5所述的装置,其特征在于,所述加载执行模块包括:
引入单元,用于将Jython引入java中,并在java中定义接口函数;
第一获取单元,用于引用并获取用户编辑的脚本程序;
第一转化单元,用于将获取的脚本程序转化为java可调用代码;
调用单元,用于在java中对脚本程序进行调用。
7.根据权利要求6所述的装置,其特征在于,所述第一转化单元包括:
第二获取单元,用于获取之前生成的python对象;
执行转化单元,用于将获取的python对象转化为java对象。
8.根据权利要求6所述的装置,其特征在于,所述调用单元包括:
第二转化单元,用于将转化为java对象的脚本程序转化为接口类型;
执行调用单元,用于直接调用转化后的函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410828109.4A CN104572453B (zh) | 2014-12-26 | 2014-12-26 | 利用脚本语言获取商品属性的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410828109.4A CN104572453B (zh) | 2014-12-26 | 2014-12-26 | 利用脚本语言获取商品属性的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572453A CN104572453A (zh) | 2015-04-29 |
CN104572453B true CN104572453B (zh) | 2018-01-19 |
Family
ID=53088585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410828109.4A Active CN104572453B (zh) | 2014-12-26 | 2014-12-26 | 利用脚本语言获取商品属性的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572453B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766231B (zh) * | 2016-08-22 | 2021-03-16 | 阿里巴巴集团控股有限公司 | 一种自动化测试方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000065509A2 (en) * | 1999-04-22 | 2000-11-02 | Qode.Com, Inc. | System and method for providing electronic information upon receipt of a scanned bar code |
US8113427B2 (en) * | 2008-12-18 | 2012-02-14 | Ncr Corporation | Methods and apparatus for automated product identification in point of sale applications |
CN101539943A (zh) * | 2009-04-30 | 2009-09-23 | 腾讯科技(深圳)有限公司 | 获取产品信息、产品购物搜索的方法、装置和系统 |
CN102855273A (zh) * | 2012-07-16 | 2013-01-02 | 宇龙计算机通信科技(深圳)有限公司 | 终端和信息获取方法 |
CN103902598B (zh) * | 2012-12-27 | 2018-11-09 | 北京京东尚科信息技术有限公司 | 移动终端及商品信息查询方法 |
CN104077286A (zh) * | 2013-03-26 | 2014-10-01 | 北京京东尚科信息技术有限公司 | 商品信息的搜索方法及系统 |
-
2014
- 2014-12-26 CN CN201410828109.4A patent/CN104572453B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104572453A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110018955B (zh) | 通过转换手动测试用例来生成自动化测试脚本 | |
Marrs | JSON at work: practical data integration for the web | |
US11681699B2 (en) | Automated extraction of data from web pages | |
US20190188062A1 (en) | Api notebook tool | |
KR102220127B1 (ko) | 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치 | |
US10061687B2 (en) | Self-learning and self-validating declarative testing | |
US9558275B2 (en) | Action broker | |
US11176598B2 (en) | Artificial intelligence and machine learning based conversational agent | |
CN107577607A (zh) | 用户界面自动化测试方法、装置、电子设备、存储介质 | |
Rakhra et al. | E-commerce assistance with a smart chatbot using artificial intelligence | |
CN110543297B (zh) | 用于生成源码的方法和装置 | |
CN113900958A (zh) | 测试用例脚本的生成方法、系统、介质及电子设备 | |
CN108984202B (zh) | 一种电子资源分享方法、装置和存储介质 | |
US20180285476A1 (en) | Intermixing literal text and formulas in workflow steps | |
CN113032244A (zh) | 接口测试方法、装置、计算机系统和计算机可读存储介质 | |
CN109840192A (zh) | 自动化测试的方法和装置 | |
Satish et al. | Extracting the combinatorial test parameters and values from UML sequence diagrams | |
CN115422334A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
Antonelli et al. | Challenges of automatically evaluating rich internet applications accessibility | |
CN108809896A (zh) | 一种信息校验方法、装置和电子设备 | |
CN106371994A (zh) | 基于自然语言处理的动态移动app测试方法 | |
Segura et al. | Automated variability analysis and testing of an E-commerce site. an experience report | |
CN104572453B (zh) | 利用脚本语言获取商品属性的方法和装置 | |
CN116737155A (zh) | 互联网页面的生成方法、装置、存储介质及计算机设备 | |
US20160292067A1 (en) | System and method for keyword based testing of custom components |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |